Compare commits

..

70 Commits

Author SHA1 Message Date
Paul Beckingham
e080c3168c - Package Manager file. 2008-07-18 01:56:17 -04:00
Paul Beckingham
ea06565007 - Final 1.4.1 touches. 2008-07-18 01:53:54 -04:00
Paul Beckingham
4ae189f77d - Removed TUTORIAL references in README 2008-07-17 00:37:15 -04:00
Paul Beckingham
ebf4f3cb12 - Updated ChangeLog, task.html
- Removed contents of TUTORIAL file
2008-07-16 23:51:43 -04:00
Paul Beckingham
4d1cdf0270 - For "task calendar", the month names are now centered over the month. 2008-07-16 23:42:02 -04:00
Paul Beckingham
bb7f48496a - Bumberd version number to 1.4.1 2008-07-13 13:25:35 -04:00
Paul Beckingham
da7cda3c82 Merge branch 'master' into 1.4.1 2008-07-13 10:55:38 -04:00
Paul Beckingham
31a5816fb4 - Added link to task_1.4.0-1_i386.deb from Richard Querin. 2008-07-13 10:54:42 -04:00
Paul Beckingham
a443257aaa - Fixed bug whereby descriptions could not be altered. 2008-07-11 15:19:59 -04:00
Paul Beckingham
60b7d15a1d - Fixed bug on Ubuntu whereby it wants std::string::size_type rather than unsigned int. 2008-07-11 02:05:02 -04:00
Paul Beckingham
2b646b3fa0 - Documentation update for 1.4.0 2008-07-11 01:28:35 -04:00
Paul Beckingham
86f5294436 - Fixed bug where dateformat=m/d/Y was not parsing "07/08/2008", which is technically "M/D/Y", but, come on, let's be nice.
- Altered (deprecated) TUTORIAL introductory disclaimer.
2008-07-10 01:46:08 -04:00
Paul Beckingham
fe03f91744 - Documentation reorganization - not yet complete 2008-07-10 01:23:05 -04:00
Paul Beckingham
9fcd5b1801 - Allows colons in the description, provided they are not preceded by a valid attribute name. 2008-07-10 00:16:35 -04:00
Paul Beckingham
2380c8b33a - Added new, stubbed, T::validate method for full T validation, one day. 2008-07-09 23:57:31 -04:00
Paul Beckingham
849cb65b0e - Added URL to usage, version. 2008-07-09 23:26:33 -04:00
Paul Beckingham
84d0dce20c - Updated docs with latest change. 2008-07-09 23:00:49 -04:00
Paul Beckingham
2150642f9d - Properly expands ~ characters in data.location 2008-07-09 22:56:39 -04:00
Paul Beckingham
ec8da0baaa - Updated docs, announced deprecation of TUTORIAL. 2008-07-09 03:39:29 -04:00
Paul Beckingham
cf27fa027b Merge branch 'recurrence' into 1.4.0 2008-07-09 03:29:14 -04:00
Paul Beckingham
01314c753b - Added duration.t 2008-07-09 03:28:53 -04:00
Paul Beckingham
6f7b9b7d42 - Recurring tasks! 2008-07-09 03:26:44 -04:00
Paul Beckingham
46ded4c026 Merge branch 'master' into recurrence
Conflicts:

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

	ideas.txt
2008-06-26 23:13:49 -04:00
Paul Beckingham
1ef7b0c43a - Now allows rc:<file> override of ~/.taskrc file. 2008-06-25 01:29:42 -04:00
Paul Beckingham
be6136c1e9 - Improved the ideas details 2008-06-24 02:02:02 -04:00
Paul Beckingham
5d158d752d - Fixed bug whereby table headers were underlined when color is turned off. 2008-06-24 01:37:18 -04:00
Paul Beckingham
2d21558a5a Merge branch 'master' into 1.4.0 2008-06-24 01:23:30 -04:00
Paul Beckingham
0034534803 - Properly skips all escape sequences if no fg and bg colors are specified. 2008-06-24 01:21:40 -04:00
Paul Beckingham
3f21a0fe4d - Updated ideas with recurrence design 2008-06-22 01:33:17 -04:00
Paul Beckingham
cc9235033f - Added averages to the "task history" report. 2008-06-22 01:04:33 -04:00
Paul Beckingham
f61c849816 - Updated grammar to include new undelete command. 2008-06-22 00:37:20 -04:00
Paul Beckingham
195b5a5e0a - Implemented "task undelete" for non-GCed deleted tasks. 2008-06-22 00:32:59 -04:00
Paul Beckingham
bcae2d2b93 - Bumped version to 1.4.0 2008-06-22 00:25:16 -04:00
Paul Beckingham
3a6de7d940 - Corrected Cygwin ncurses documentation
- Added galvanizd to the AUTHOS file for recognition of above tip
2008-06-22 00:14:26 -04:00
Paul Beckingham
994f98b57a - Added new 1.3.1 .deb files from Richard Querin. 2008-06-21 23:28:19 -04:00
Paul Beckingham
44ca388b52 - Updated for 1.3.1 release. 2008-06-21 17:15:14 -04:00
Paul Beckingham
06a85c24ad - Fixed bug so that task now recreates (with permission) any missing ~/.taskrc, and recreates any missing ~/.task 2008-06-21 17:12:04 -04:00
Paul Beckingham
ceaba87ba3 - Fixed bug causing seg faults for Ubuntu users. 2008-06-21 16:38:01 -04:00
Paul Beckingham
61acf6239c - Relocated all html into it's own directory. 2008-06-21 15:33:31 -04:00
Paul Beckingham
8dc8cdeea7 - Updated docs 2008-06-21 15:28:36 -04:00
Paul Beckingham
10ef3013e3 - Rearranged top of main page. 2008-06-21 14:59:01 -04:00
Paul Beckingham
3899f5352f - Added version number in just the right place. 2008-06-21 14:43:20 -04:00
Paul Beckingham
64fbf88f48 - Updated to include 1.3.1 information.
- Modified task.css
2008-06-21 13:41:56 -04:00
Paul Beckingham
2e0964aeb8 Merge branch 'master' into 1.3.1
Conflicts:

	task.html
2008-06-21 13:35:12 -04:00
Paul Beckingham
35d878de96 - Broken out CSS file
- Broken out troubleshooting guide
- Broken out versions info
2008-06-21 12:49:30 -04:00
Paul Beckingham
d771586080 - Converted version to 1.3.1
- Added links in task.html to Richard Querin's blog
- Added link to movie
2008-06-19 23:31:36 -04:00
63 changed files with 7404 additions and 9308 deletions

View File

@@ -11,4 +11,8 @@ With thanks to:
Bruce Israel
Thomas Engel
Nishiishii
galvanizd
H. İbrahim Güngör
Stas Antons
Andy Lester

View File

@@ -1,22 +1,47 @@
Version numbers are of the form:
x.y.z
X.Y.Z
where the x represents a major version number, or architecture. The y
represents a feature release, and the z represents a patch.
where the X represents a major version number, or architecture. The Y
represents a feature release, and the Z represents a patch.
------ plans -------------------------------------
------ current release ---------------------------
- Configurable columns in reports
- Dependencies
1.4.1 (7/?/2008)
+ Bug: Descriptions can not be altered with "task 123 New description"
+ Tweak: For "task calendar" month names are now centered over the month
+ Removed TUTORIAL file contents in favor of online version
1.4.0 (?)
+ Bug: "showage" configuration variable should apply to all reprts, not
just the ones based on "list"
------ old releases ------------------------------
1.4.0 (7/10/2008)
+ New recurring tasks feature
+ "task undelete" can now undelete erroneously deleted tasks, provided no
reports have been run (and therefore TDB::gc run)
+ Added averages to the "task history" report
+ Added ability to override ~/.taskrc with rc:<file>
+ Added bar chart history report "task ghistory"
+ Added task filtering on all reports
+ Automatically shuts off color, curses when output is not a tty
+ Supports relative due: dates (tomorrow, wednesday, 23rd, eom ...)
+ Supports the ~ character in .taskrc data.location
+ Allows colons on the description, provided what is to the left of the colon
is not a standard attribute name
+ Bug: Fixed where Esc[0m sequences were being emitted for no good reason
+ Bug: Fixed underlined table headers when color is turned off
+ Bug: Adding a blank priority resulted in an assigned garbage value
+ Bug: Fixed parsing of date "07/08/2008" when using dateformat "m/d/Y"
1.3.1 (6/21/2008)
+ New configuration variable, "defaultwidth" that determines the width
of tables when ncurses support is not available
------ reality -----------------------------------
+ Bug: "showage" configuration variable should apply to all reports, not
just the ones based on "list"
+ Bug: Fixed segmentation faults on Ubuntu when the "dateformat"
configuration variables was missing. This was a code bug, and should
have affected more platforms
+ Bug: Task now will recreate a missing ~/.taskrc file, OR a missing
~/.task directory
1.3.0 (6/18/2008)
+ "task calendar" now displays multiple months per line, adjustable by the

View File

@@ -1,9 +1,11 @@
Developers may wish to change task, and here is a high-level guide to the files
included.
task.{cpp,h} Functions that implement the task commands, and main.
task.{cpp,h} Implements main, high level processing.
command.cpp Implements all non-report task commands.
report.cpp Implements all task reports.
parse.cpp Parses the command line.
TDB.{cpp,h} The task database, performs all file I/O
TDB.{cpp,h} The task database, performs all file I/O.
T.{cpp,h} Represents a single task - parses a record from TDB, and also
composes record for TDB. Provides accessors for tasks.
Grid.{cpp,h} Implements a sparse 2D array, provides data storage for the

27
README
View File

@@ -3,20 +3,20 @@ Thank you for taking a look at task. Task is a GTD utility featuring:
- Robust C++ implementation
- Tags
- Colorful, tabular output
- Reports
- Reports, graphs
- Lots of commands
- Low-level API
- Abbreviations for all commands, options
- Multi-user file locking
- Clean architecture allowing quick addition of new features
- Recurring tasks
It is intended that features, mainly in the form of reports will be added
frequently, with best practices and useful reports evolving from usage patterns.
Task is scope-limited to GTD functionality only.
You may want to jump straight to the TUTORIAL file, or perhaps watch the old
task movie on YouTube:
You may want to watch the old task movie on YouTube:
http://www.youtube.com/watch?v=l68LCl6BYvs
@@ -24,18 +24,21 @@ or the new improved one:
http://www.youtube.com/watch?v=D2Kn4DMOVSw
Either will give you a fairly good idea of what task is capable of, and whether
it fits in to your way of working. As a command line application, task is not
for everyone and some of you may prefer to not proceed. The movie or TUTORIAL
file are the quickest way for you to make that decision.
Either will give you a fairly good idea of what task is capable of, and
whether it fits in to your way of working. As a command line application,
task is not for everyone and some of you may prefer to not proceed. The
movie or online tutorial file are the quickest way for you to make that
decision. The online tutorial can be found at:
http://www.beckingham.net/task.html
Task is based on ideas presented in the todo.sh script, found on:
http://todotxt.org
Task has a few more features than todo.sh, but fundamentally, they are both
working toward the same goals, which is to help you follow basic Getting Things
Done (GTD) principles.
Task has many more features than todo.sh, but fundamentally, they are
both working toward the same goals, which is to help you follow basic
Getting Things Done (GTD) principles.
All feedback is welcome, in addition to any bug reports or patches to:
@@ -43,6 +46,6 @@ All feedback is welcome, in addition to any bug reports or patches to:
Got an idea for an enhancement? Send a message!
I have found that task makes me more productive and organized. I hope task can
do the same for you.
I have found that task makes me more productive and organized.
I hope task can do the same for you.

768
TUTORIAL
View File

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

View File

@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(task, 1.4.0, bugs@beckingham.net)
AC_INIT(task, 1.4.1, bugs@beckingham.net)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([src/task.cpp])
AC_CONFIG_HEADER([auto.h])

View File

@@ -22,6 +22,7 @@ command:
| EXPORT <file>
| COLOR
| DELETE <id>
| UNDELETE <id>
| INFO <id>
| START <id>
| DONE <id>

130
html/30second.html Normal file
View File

@@ -0,0 +1,130 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="simple">30-second Tutorial</a></h2>
<div class="content">
<p>
For the excessively lazy.
Add two tasks:
</p>
<pre><code>% task add Read task documents later
% task add priority:H Pay bills</code></pre>
<p>
Easy. See that second one has a High priority? Now let's look at those tasks:
</p>
<pre><code>% task ls
ID Project Pri Description
2 H Pay bills
1 Read task documents later</code></pre>
<p>
They are ordered by priority. Let's mark number 2 as done:
</p>
<pre><code>% task 2 done
% task ls
ID Project Pri Description
1 Read task documents later</code></pre>
<p>
Gone. Now let's delete that remaining task, because, well,
why bother now we are already using task:
</p>
<pre><code>% task delete 1
% task ls
No matches</code></pre>
<p>
Easy. But now consider checking out what task can really do...
</p>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

14
html/README Normal file
View File

@@ -0,0 +1,14 @@
Documentation Restructuring
high level pages
download
previous verisons
tutorial
recurrence
priorities
subprojects
tags
need page banner
need task link off beckinghma.net

429
html/advanced.html Normal file
View File

@@ -0,0 +1,429 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="advanced">Advanced Usage</a></h2>
<div class="content">
<p>
Here are the other commands, in some detail.
</p>
<strong>% task</strong>
<p>
With no arguments, this command will generate a help message that
lists all these commands.
</p>
<strong>% task projects</strong>
<p>
This report generates a list of all the different projects that you
are using along with a count of the pending tasks for each project.
For example:
</p>
<pre><code>% task projects
Project Tasks
Errands 1
Birthdays 3
Car 2</code></pre>
<strong>% task summary</strong>
<p>
This report lists all the projects and a summary of their task
status.
</p>
<pre><code>% task summary
Project Remaining Avg age Complete 0% 100%
Errands 1 3 days 50% XXXXXXXXXXXXXXXX
Birthdays 3 7 mths 0%
Car 2 2 wks 25% XXXXXXXXX</code></pre>
<p>
This shows the project, the remaining tasks, the average age of each
task, the percentage completed (remaining vs total) and a bar
indicating that percentage.
</p>
<strong>% task delete &lt;id&gt;</strong>
<p>
There are two ways of getting rid of tasks - mark them as done, or
delete them.
</p>
<strong>% task undelete &lt;id&gt;</strong>
<p>
If a task was inadvertently deleted, it may be undeleted, provided that no
reports have been run since the deletion. Ideally, the undelete command is
run immediately after the erroneous delete command.
</p>
<p>
If a report is run (such as "task list"), then task performs a garbage
collection that removes deleted tasks, and the task cannot be undeleted.
</p>
<strong>% task done &lt;id&gt;</strong>
<p>
This is how a task is marked as done.
</p>
<strong>% task list ...</strong>
<p>
The list report will show the active status, and age of the task in
addition to the columns that "task ls" shows. It is just a more
detailed list.
</p>
<strong>% task long ...</strong>
<p>
The long report will show the entry date and start date of a task,
in addition to the columns that the "task list" shows.
</p>
<strong>% task start &lt;id&gt;</strong>
<p>
This marks a task as started (and therefore active), which is shown
in the "list" report:
</p>
<pre><code>% task list
ID Project Pri Due Active Age Description
12 Errand L Remember to deposit check
...
% task start 12
% task list
ID Project Pri Due Active Age Description
12 Errand L * 3 days Remember to deposit check
...</code></pre>
<strong>% task active</strong>
<p>
Shows all active tasks, that is, the tasks for which the
"task start ..." command was run, as shown above.
</p>
<strong>% task overdue</strong>
<p>
Simply lists all the task that have a due date that is past, in
"list" format.
</p>
<strong>% task history</strong>
<p>
This report shows you an overview of how many tasks were added,
completed and deleted, by month. It looks like this:
</p>
<pre><code>% task history
Year Month Added Completed Deleted Net
2008 March 21 16 0 5
April 13 11 1 1
May 8 14 3 -9</code></pre>
<p>
This shows that for the three months that task has been used, March
and April saw the total number of tasks increase, but in May the
number decreased as more task were completed than added.
</p>
<strong>% task calendar</strong>
<p>
This report shows a calendar of the current month, with any task
due or overdue dates marked on it. Color is used to mark these
dates.
</p>
<pre><code>% task calendar
May 2008
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31</code></pre>
<strong>% task next</strong>
<p>
This report shows you the tasks you should probable work on next.
Task will scan all the tasks and will pick two task from each
project to report. Those two tasks will be chosen in order of
overdue, due soon, High, Medium or Low priority. Essentially task
chooses the two most important task for each project and displays
them ordered in the usual way.
</p>
<p>
If you wish to show a different number of tasks per project, modify
the entry in .taskrc:
</p>
<pre><code>next=2</code></pre>
<p>
To be your preferred number.
</p>
<strong>% task &lt;id&gt; ...</strong>
<p>
When a task id is specified, everything applies to just that task.
Suppose we needed to correct a task:
</p>
<pre><code>% task ls
ID Project Pri Description
12 Errand L Remember to deposit chekc
...
% task 12 Remember to deposit bonus check
% task ls
ID Project Pri Description
12 Errand L Remember to deposit bonus check
...</code></pre>
<strong>% task oldest</strong>
<p>
Lists the oldest tasks. Shows 10 tasks by default, but can be
set via the "oldest" configuration variable.
</p>
<strong>% task newest</strong>
<p>
Lists the newest tasks. Shows 10 tasks by default, but can be
set via the "newest" configuration variable.
</p>
<strong>% task /from/to/</strong>
<p>
If a task has been entered with a typo, it can be easily corrected
by this command. For example:
</p>
<pre><code>% task ls
ID Project Pri Description
12 Errand L Remember to deposit chekc
...
% task 12 /chekc/check/
% task ls
ID Project Pri Description
12 Errand L Remember to deposit check
...</code></pre>
<p>
This command makes single corrections to a task description.
</p>
<strong>% task tags</strong>
<p>
This command will generate a list of all the tags that are currently
in use by task.
</p>
<strong>% task info &lt;id&gt;</strong>
<p>
This command gives detailed information about a single task. It
will tell you when the task was entered, when started, its status,
tags, and more.
</p>
<strong>% task stats</strong>
<p>
This command generates a list of statistics about your task usage,
such as the average time it takes to complete a task, how often new
tasks are added, and more.
</p>
<strong>% task completed</strong>
<p>
This generates a list of all tasks that have been completed, sorted
by their completion date.
</p>
<strong>% task export &lt;file name&gt;</strong>
<p>
This instructs task to write out a CSV format dump of all tasks,
both pending and completed, to the file specified. This is how you
might view tasks in a spreadsheet.
</p>
<strong>% task colors</strong>
<p>
This command displays all the colors that task supports.
</p>
<strong>% task usage</strong>
<p>
If logging has been enabled by the "command.logging=on" directive
in the .taskrc file, then task will record every command that is
run. When this command is run, task will display a count of how
many times each command was used.
</p>
<p>
This command is for the purpose of seeing whether command are
actually used.
</p>
<strong>% task version</strong>
<p>
This can be used to show the version number of task, and to display
all the current configuration settings, as read from the .taskrc
file.
</p>
<strong>% task rc:&lt;file&gt; ...</strong>
<p>
By specifying rc:<file>, it is possible to force task to use an alternate
.taskrc file. By default, task looks in your home directory, so these two
commands are essentially identical:
</p>
<pre><code>% task list
% task rc:~/.taskrc list</code></pre>
<p>
What this override allows, is the possibility of keeping your task lists
completely separate, say for work and home. This can be accomplished with
the following commands (valid for bash):
</p>
<pre><code>% alias htask="task rc:/home/me/.taskrc_home"
% alias wtask="task rc:/home/me/.taskrc_work"
% htask list
...
% wtask list
...</code></pre>
<strong>% task &lt;id&gt; fg:... bg:...</strong>
<p>
Not strictly a command, the setting of the fg and bg (foreground
and background) attributes determines the colors used to represent
the task. Valid foreground colors are:
</p>
<pre><code> bold underline bold_underline
black bold_black underline_black bold_underline_black
red bold_red underline_red bold_underline_red
green bold_green underline_green bold_underline_green
yellow bold_yellow underline_yellow bold_underline_yellow
blue bold_blue underline_blue bold_underline_blue
magenta bold_magenta underline_magenta bold_underline_magenta
cyan bold_cyan underline_cyan bold_underline_cyan
white bold_white underline_white bold_underline_white</code></pre>
<p>
Note that these are not just colors, but combinations of colors and
attributes. Valid background colors are:
</p>
<pre><code>on_black on_bright_black
on_red on_bright_red
on_green on_bright_green
on_yellow on_bright_yellow
on_blue on_bright_blue
on_magenta on_bright_magenta
on_cyan on_bright_cyan
on_white on_bright_white</code></pre>
<p>
Note also that this capability does depend on whether your terminal
program can display these colors.
</p>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

127
html/color.html Normal file
View File

@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="color">Colors</a></h2>
<div class="content">
<p>
Task supports color in several places. In cases where you may
specify a color, a foreground, a background, or a combination
foreground and background color may be used. The following are
valid foreground colors:
</p>
<pre><code> bold underline bold_underline
black bold_black underline_black bold_underline_black
red bold_red underline_red bold_underline_red
green bold_green underline_green bold_underline_green
yellow bold_yellow underline_yellow bold_underline_yellow
blue bold_blue underline_blue bold_underline_blue
magenta bold_magenta underline_magenta bold_underline_magenta
cyan bold_cyan underline_cyan bold_underline_cyan
white bold_white underline_white bold_underline_white</code></pre>
<p>
and the following are valid background colors:
</p>
<pre><code>on_black on_bright_black
on_red on_bright_red
on_green on_bright_green
on_yellow on_bright_yellow
on_blue on_bright_blue
on_magenta on_bright_magenta
on_cyan on_bright_cyan
on_white on_bright_white</code></pre>
<p>
Depending on your terminal color choices, task can display all
the colors it supports with the command:
</p>
<img src="images/color.png" />
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

303
html/config.html Normal file
View File

@@ -0,0 +1,303 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="config">Configuring Task</a></h2>
<div class="content">
<p>
Task recognizes several entries in the .taskrc file for
configuration purposes. Valid entries are of the form:
</p>
<pre><code>name=value</code></pre>
<p>
Valid examples are:
</p>
<dt>data.location</dt>
<dd>
This is a path to the directory containing all the task files.
By default, it is set up to be ~/.task, for example:
/Users/paul/.task
</dd>
<dt>command.logging</dt>
<dd>
May be "on" or "off", defaulting to "off". This determines
whether task records commands. This is not generally useful,
except while developing task.
</dd>
<dt>confirmation</dt>
<dd>
May be "yes" or "no", and determines whether task will ask for
confirmation before deleting a task.
</dd>
<dt>nag</dt>
<dd>
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:
<strong>Note: try to stick to high priority tasks. See "task next".</strong>
</dd>
<dt>next</dt>
<dd>
Is a number, defaulting to 2, which is the number of tasks for
each project that are shown in the "task next" command.
</dd>
<dt>curses</dt>
<dd>
Determines whether task uses ncurses to establish the size of
the window you are using, for text wrapping.
</dd>
<dt>blanklines</dt>
<dd>
May be "on" or "off". Prevents the display of unnecessary blank
lines so that task makes better use screen real estate on small-
screened devices.
</dd>
<dt>dateformat</dt>
<dd>
<p>
This is a string of characters that define how task formats dates.
The default value is:
</p>
<pre><code>m/d/Y</code></pre>
<p>
which means dates look like:
</p>
<pre><code>6/7/2008</code></pre>
<p>
The string should contain the characters:
<table>
<tr>
<th class="table_h">Character</th>
<th class="table_h">Meaning</th>
<th class="table_h">Example</th>
</tr>
<tr>
<td class="table_d">m</td>
<td class="table_d">minimal-digit month</td>
<td class="table_d">1, 12</td>
</tr>
<tr>
<td class="table_d">d</td>
<td class="table_d">minimal-digit day</td>
<td class="table_d">1, 30</td>
</tr>
<tr>
<td class="table_d">y</td>
<td class="table_d">two-digit year</td>
<td class="table_d">08</td>
</tr>
<tr>
<td class="table_d">M</td>
<td class="table_d">two-digit month</td>
<td class="table_d">01, 12</td>
</tr>
<tr>
<td class="table_d">D</td>
<td class="table_d">two-digit day</td>
<td class="table_d">01, 30</td>
</tr>
<tr>
<td class="table_d">Y</td>
<td class="table_d">four-digit year</td>
<td class="table_d">2008</td>
</tr>
</table>
</p>
<p>
The string may also contain other characters to act as spacers,
or formatting. Other values could include (but are not limited to):
</p>
<p>
<table>
<tr>
<th class="table_h">dateformat</td>
<th class="table_h">How it looks</th>
</tr>
<tr>
<td class="table_d">d/m/Y</td>
<td class="table_d">7/6/2008</td>
</tr>
<tr>
<td class="table_d">YMD</td>
<td class="table_d">20080607</td>
</tr>
<tr>
<td class="table_d">m-d-y</td>
<td class="table_d">6-7-08</td>
</tr>
</table>
</p>
</dd>
<dt>showage<dt>
<dd>
May be "yes" or "no". Determines whether the "Age"
column appears on the "list" and "next" reports.
<dd>
<dt>monthsperline</dt>
<dd>
Determines how many months the "task calendar" command
renders across the screen. Defaults to 1.
</dd>
<dt>oldest</dt>
<dd>
Determines how many tasks the "task oldest" command displays.
Defaults to 10.
</dd>
<dt>newest</dt>
<dd>
Determines how many tasks the "task newest" command displays.
Defaults to 10.
</dd>
<dt>defaultwidth</dt>
<dd>
The width of tables used when ncurses support is not available.
Defaults to 80.
</dd>
<dt>color</dt>
<dd>
May be "on" or "off". Determines whether task uses color.
</dd>
<dt>
color.overdue<br />
color.due<br />
color.pri.H<br />
color.pri.M<br />
color.pri.L<br />
color.pri.none<br />
color.active<br />
color.tagged
</dt>
<dd>
These are the 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. The value may
be one optional foreground color (see below) and one optional
background color. For example, the value may be:
<br />
<strong>bold_red on_bright_yellow</strong>
</dd>
<dt>color.tag.X</dt>
<dd>
Colors any task that has the tag X.
</dd>
<dt>color.project.X</dt>
<dd>
Colors any task assigned to project X.
</dd>
<dt>color.keyword.X</dt>
<dd>
Colors any task where the description contains X.
</dd>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

160
html/date.html Normal file
View File

@@ -0,0 +1,160 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title">Date Handling</h2>
<div class="content">
<p>
Task reads dates from the command line, and displays dates in the reports.
</p>
<p>
In order to do this in a flexible way, task obeys a configuration variable that
determines the expected and desired date format. See the
<a href="config.html">Configuring Task</a> page for details.
</p>
<p>
In addition to exactly specifying the date, such as:
</p>
<pre><code>% task ... due:7/10/2008</code></pre>
<p>
task supports a flexible variety of alternatives. For example:
</p>
<pre><code>% task ... due:today</code></pre>
<p>
Similarly:
</p>
<pre><code>% task ... due:yesterday
% task ... due:tomorrow</code></pre>
<p>
Here are some other forms that are accepted. The day number, followed by an
ordinal:
</p>
<pre><code>% task ... due:23rd</code></pre>
<p>
End of month:
</p>
<pre><code>% task ... due:eom</code></pre>
<p>
End of year:
</p>
<pre><code>% task ... due:eoy</code></pre>
<p>
End of week (Friday):
</p>
<pre><code>% task ... due:eow</code></pre>
<p>
Next Friday:
</p>
<pre><code>% task ... due:Friday</code></pre>
<p>
Note that next Friday means seven days from now if today is Friday, otherwise
it means the next occurring Friday. Most of these forms may be specified using
abbreviations, provided they are unique. For example:
</p>
<pre><code>% task ... due:fri</code></pre>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

BIN
html/images/color.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

205
html/recur.html Normal file
View File

@@ -0,0 +1,205 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title">Recurring Tasks</h2>
<div class="content">
<p>
Task supports recurring tasks, which is a task that keeps falling due, on a
regular schedule. An example of this may be "pay rent". Here is how
recurring tasks work in task:
</p>
<p>
Ordinarily, a task is a single item that is entered in the pending state, and
remains so until it is either completed or deleted. This is an example of a
single instance task.
</p>
<p>
A recurring task is different. When a recurring task is entered, it remains
hidden from view, but acts as a root task for a task instances that are
generated on a regular basis. Consider the example:
</p>
<pre><code>% task Pay rent due:7/1/2008 recur:monthly</code></pre>
<p>
If today's date is 7/10, for example, then that due date is in the past, and
you might expect there to be an already overdue task for 7/1/2008, and another
due on 8/1/2008. This means that from that root, task has created two
instances with different due dates.
</p>
<pre><code>% task list
ID Project Pri Due Active Age Description
1 7/1/2008 1 min Pay rent
2 8/1/2008 1 min Pay rent
2 tasks</code></pre>
<p>
Task creates any overdue tasks, then creates one additional due task. These
new task instances are then completed or deleted as you normally would.
</p>
<p>
In the example above, a new task instance is created every month, and this will
repeat indefinitely. Task also supports an end date. Suppose you are taking
every Friday off work for the summer. You'll need to submit your TPS report on
Thursdays instead:
</p>
<pre><code>% task TPS report due:thursday recur:weekly until:8/31/2008</code></pre>
<p>
This create a weekly recurring task that expires on 8/31/2008. What this means
is that after all those task instances have been created, then completed or
deleted, the root task will expire and disappear. Task will tell you what it
is doing when this happens.
</p>
<h4>Deletion</h4>
<p>
When a recurring task is deleted, you will be asked if you would also like to
delete all recurring task instances:
</p>
<pre><code>% task del 1
Permanently delete task? (y/n) y
This is a recurring task. Do you want to delete all pending
recurrences of this same task? (y/n) y</code></pre>
<h4>Recurrence Periods</h4>
<p>
In the above examples, the recurrence period was specified as "monthly" and
"weekly". Task supports several ways of specifying this:
</p>
<table>
<tr>
<th class="table_h">Period</th>
<th class="table_h">Meaning</th>
</tr>
<tr>
<td class="table_d">daily, day, 1d, 2d ...</td>
<td class="table_d">Every day, or a number of days</td>
</tr>
<tr>
<td class="table_d">weekly, 1w, 2w ...</td>
<td class="table_d">Every week, or a number of weeks</td>
</tr>
<tr>
<td class="table_d">biweekly, fortnight</td>
<td class="table_d">Every two weeks</td>
</tr>
<tr>
<td class="table_d">monthly, 1m, 2m ...</td>
<td class="table_d">Every month, or a number of months</td>
</tr>
<tr>
<td class="table_d">bimonthly</td>
<td class="table_d">Every two months</td>
</tr>
<tr>
<td class="table_d">quarterly, 1q, 2q ...</td>
<td class="table_d">Every three months, a quarter, or a number of quarters</td>
</tr>
<tr>
<td class="table_d">semiannual</td>
<td class="table_d">Every six months</td>
</tr>
<tr>
<td class="table_d">annual, yearly, 1y, 2y ...</td>
<td class="table_d">Every year, or a number of years</td>
</tr>
<tr>
<td class="table_d">biannual, biyearly, 2y</td>
<td class="table_d">Every two-years</td>
</tr>
</table>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

140
html/setup.html Normal file
View File

@@ -0,0 +1,140 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="setup">Quick Setup</a></h2>
<div class="content">
<p>
Build the task program according to the directions in the INSTALL
file. This transcript illustrates a typical installation:
</p>
<pre><code>% ls
task-1.4.1.tar.gz
% gunzip task-1.4.1.tar.gz
% tar xf task-1.4.1.tar
% cd task-1.4.1
% ./configure
...
% make
...
% make install # (may require sudo, depending on --prefix)</code></pre>
<p>
(For those of you using <a href="http://www.cygwin.com">Cygwin</a>,
you need to make sure you have the "gcc" and "make" packages
available, which are found in the "devel" category. For more
task features, also make sure you have "libncurses-devel" and
"lincurse8".)
</p>
<p>
You need to make sure that the installed task program is in your
PATH environment variable.
</p>
<p>
Task reads a configuration file - called .taskrc in your home
directory - and stores pending and completed tasks in in a directory
specified in the configuration file.
</p>
<p>
The simplest way to get a configuration file and task directory is
to run task. On startup, task will check to see if it can find the
configuration file and task directory, and if not found, will ask
you whether it may create both.
</p>
<pre><code>% task version
A configuration file could not be found in /Users/paul/.taskrc
Would you like a sample .taskrc created, so task can proceed? (y/n) y
Done.
[then task will show version information]</code></pre>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

130
html/shell.html Normal file
View File

@@ -0,0 +1,130 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="shell">Interacting with the Shell</a></h2>
<div class="content">
<p>
Certain characters are interpreted by the shell. For example, the
"&amp;". If you wish to include the &amp; in a task description,
you need to escape it, so the shell doesn't interpret it. For
example:
</p>
<pre><code>% task add Buy bread &amp; milk</code></pre>
<p>
This command is an error because of the &amp;. The shell will
consider this to be two commands:
</p>
<pre><code>% task add Buy bread &amp;
% milk</code></pre>
<p>
The shell treats the &amp; character as an indicator that the
command is complete and should be run in the background. Then the
shell considers "milk" to be a command all by itself. Which it is
not. One way to get around this is to individually escape the &amp;
character:
</p>
<pre><code>% task add Buy bread \&amp; milk</code></pre>
<p>
Another is to quote the entire description, with either ' or "
characters:
</p>
<pre><code>% task add "Buy bread &amp; milk"</code></pre>
<p>
Task itself interprets the commands, and it too can make mistakes.
For example, any colon : character will be interpreted by task as a
delimiter between an attribute name and its value. Currently there
is no workaround for this.
</p>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

355
html/simple.html Normal file
View File

@@ -0,0 +1,355 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="simple">Simple Usage</a></h2>
<div class="content">
<p>
Let us begin by adding some tasks:
</p>
<pre><code>% task add Book plane ticket
% task add Rent a tux
% task add Reserve a rental car
% task add Reserve a hotel room</code></pre>
<p>
That's it. You'll notice immediately that task has a very
minimalist interface. Let us take a look at those tasks:
</p>
<pre><code>% task ls
ID Project Pri Description
1 Book plane ticket
2 Rent a tux
3 Reserve a rental car
4 Send John a birthday card</code></pre>
<p>
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:
</p>
<pre><code>% task 2 delete
Permanently delete task? (y/n) y</code></pre>
<p>
Task wants you to confirm deletions. To remove the confirmation,
edit your .taskrc file and change the line:
</p>
<pre><code>confirmation=yes</code></pre>
<p>
to have a value of "no".
</p>
<p>
While the use of projects and priorities are not essential to
benefitting from task, they can be very useful when the list of
tasks grows large. Let's assign a project to these tasks:
</p>
<pre><code>% task 1 project:Wedding
% task 3 project:Wedding
% task 4 project:Family
% task ls
ID Project Pri Description
3 Family Send John a birthday card
2 Wedding Reserve a rental car
1 Wedding Book plane ticket</code></pre>
<p>
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:
</p>
<p>
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:
</p>
<pre><code>% task 2 project:Wedding.Transport
% task ls
ID Project Pri Description
3 Family Send John a birthday card
2 Wedding.Transport Reserve a rental car
1 Wedding Book plane ticket</code></pre>
<p>
Task matches the leftmost part of the project when searching, so
projects may be abbreviated:
</p>
<pre><code>% task ls project:Wedding.Tra
ID Project Pri Description
2 Wedding.Transport Reserve a rental car</code></pre>
<p>
This way of matching projects can be used to see all tasks under
the "Wedding" project and all subprojects:
</p>
<pre><code>% task ls project:Wedding
ID Project Pri Description
2 Wedding.Transport Reserve a rental car
1 Wedding Book plane ticket</code></pre>
<p>
Let's reassign 2 back to the "Wedding" project:
</p>
<pre><code>% task 2 project:Wedding</code></pre>
<p>
Now that projects are assigned, we can look at just the
Wedding project tasks:
</p>
<pre><code>% task ls project:Wedding
ID Project Pri Description
1 Wedding Book plane ticket
2 Wedding Reserve a rental car</code></pre>
<p>
Any command arguments after the 'ls' are used for filtering the
output. We could also have requested:
</p>
<pre><code>% task ls ticket plane
ID Project Pri Description
1 Wedding Book plane ticket</code></pre>
<p>
Now let's prioritize. Priorities can be H, M or L (High, Medium,
Low).
</p>
<pre><code>% task ls
ID Project Pri Description
3 Family Send John a birthday card
2 Wedding Reserve a rental car
1 Wedding Book plane ticket
% task 1 priority:H
% task 2 prior:M
% task 3 pr:H
Ambiguous attribute 'pr' - could be either of project, priority
% task 3 pri:H
% task ls
ID Project Pri Description
3 Family H Send John a birthday card
1 Wedding H Book plane ticket
2 Wedding M Reserve a rental car</code></pre>
<p>
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.
</p>
<p>
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:
</p>
<pre><code>% task add project:Wedding priority:H Book plane ticket<code></pre>
<p>
The 'ls' command provides the least information for each task. The
'list' command provides more:
</p>
<pre><code>% task list
ID Project Pri Due Active Age Description
3 Family H 4 mins Send John a birthday card
1 Wedding H 5 mins Book plane ticket
2 Wedding M 5 mins Reserve a rental car</code></pre>
<p>
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:
</p>
<pre><code>% task 3 due:6/25/2008
% task 1 due:7/31/2008
% task list
ID Project Pri Due Active Age Description
3 Family H 6/25/2008 6 mins Send John a birthday card
1 Wedding H 7/31/2008 7 mins Book plane ticket
2 Wedding M 7 mins Reserve a rental car</code></pre>
<p>
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:
</p>
<pre><code>color.due=red
color.due=on_blue
color.due=red on_blue
color.due=bold_red on_blue</code></pre>
<p>
Where color is one of the following:
</p>
<pre><code>black
blue
red
green
cyan
magenta
yellow
white</code></pre>
<p>
All colors are specified in this way. Take a look in .taskrc for
all the other color rules that you control.
</p>
<p>
Tagging tasks is a good way to group them, aside from specifying a
project. To add a tag to a task:
</p>
<pre><code>% task &lt;id&gt; +tag<code></pre>
<p>
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.
</p>
<pre><code>% task list
ID Project Pri Due Active Age Description
3 Family H 6/25/2008 8 mins Send John a birthday card
1 Wedding H 7/31/2008 9 mins Book plane ticket
2 Wedding M 9 mins Reserve a rental car
% task 1 +phone
% task 2 +phone
% task 3 +shopping
% task 3 +john
% task list +phone
ID Project Pri Due Active Age Description
1 Wedding H 7/31/2008 9 mins Book plane ticket
2 Wedding M 9 mins Reserve a rental car</code></pre>
<p>
To remove a tag from a task, use the minus sign:
</p>
<pre><code>% task 3 -john</code></pre>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

126
html/task.css Normal file
View File

@@ -0,0 +1,126 @@
body {
text-align: center;
margin: 0; padding: 1em;
}
#container {
width: 740px;
text-align: left;
margin: 0 auto; padding: 0;
}
#header {
height: 60px;
margin: 0 0 15px; padding: 0;
}
#page {}
#content {
width: 500px;
}
#header a:link,
#header a:visited {
color:#000;
text-decoration: none;
}
#header h1 {
font: bold 400% georgia, serif;
letter-spacing: -1px;
margin: 0;
float: left;
}
#header h2 {
font: normal 12px verdana, arial, sans-serif;
margin: 2.5em 0 0 0.8em;
float: left;
}
#content {}
#content h1,
#content h2,
#content h3,
#content h4,
#content h5 {
font-family: "lucidamac bold", "lucida grande", arial, sans-serif;
letter-spacing: -1px;
}
#content h1 {
font-size: 24px;
}
#content h2 {
font-size: 22px;
border-bottom: 1px dotted #000;
}
#content h3 {
font-size: 20px;
border-bottom: 1px dotted #bbb;
}
#content h4 {
font-size: 18px;
border-bottom: 1px dotted #bbb;
}
#content h5 {
font-size: 18px;
background: #ffd;
border-bottom: 1px dotted #bbb;
}
#content p {
line-height: 15px;
}
#content ul,
#content ol {
}
#content code {
font: normal 12px "bitstream vera sans mono", monaco "lucida console", "courier new", courier, serif;
}
#content pre {
color: #63FF00;
background: #000;
overflow: auto;
font: normal 12px "bitstream vera sans mono", monaco "lucida console", "courier new", courier, serif;
margin: 0.9em 0; padding: 8px;
}
dt {
font: bold 14px "lucida grande", verdana, arial, helvetica, sans-serif;
}
dd {
}
body {
font: normal 12px "lucida grande", verdana, arial, helvetica, sans-serif;
}
.small {
font: normal 10px verdana, arial, sans-serif;
}
.table_h {
background-color: #e0e0e0;
}
.table_d {
background-color: #f7f7f7;
}
input,
textarea { font: normal 12px "bitstream vera sans", verdana, sans-serif; }
abbr { border: none; }
cite { font-style: normal; }
a img { border: none; padding: 0; margin: 0; }

187
html/task.html Normal file
View File

@@ -0,0 +1,187 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h1 class="title">Task</h1>
<p>
Task is an open source, command-line, TODO list manager.
</p>
<p>
Here you will find information on how to acquire, build, configure,
use and become proficient with the task program.
</p>
<ul>
<li><a href="setup.html">Quick Setup</a>
<li><a href="30second.html">30-second Tutorial</a>
<li><a href="simple.html">Simple Usage</a>
<li><a href="advanced.html">Advanced Usage</a>
<li><a href="shell.html">Interacting with the Shell</a>
<li><a href="config.html">Configuring Task</a>
<li><a href="color.html">Color</a>
<li><a href="usage.html">Task Command Usage</a>
<li><a href="recur.html">Recurring Tasks</a>
<li><a href="date.html">Date Handling</a>
<li><a href="troubleshooting.html">Troubleshooting</a>
<li><a href="versions.html">Old Versions</a>
<li>Filters (coming soon)
</ul>
<p>
More documents are being written, and will be added here.
</p>
<p>
Alternatively, watch the
<a href="http://www.youtube.com/watch?v=D2Kn4DMOVSw">task movie</a>
which illustrates many of task's features.
</p>
<br />
<h2 class="title">Get the Latest Release</h2>
<div class="content">
<table>
<tr>
<td>Source:</td>
<td><a href="http://www.beckingham.net/task-1.4.1.tar.gz">task-1.4.1.tar.gz</a></td>
</tr>
<tr>
<td>Mac OS X 10.5 (Leopard) Intel-only:</td>
<td><a href="http://www.beckingham.net/task-1.4.1.pkg">task-1.4.1.pkg</a></td>
</tr>
<!--
<tr>
<td>
Debian package:
(Thanks to <a href="http://blog.rfquerin.org">Richard Querin</a>):
</td>
<td><a href="http://www.beckingham.net/task_1.4.1-1_i386.deb">task_1.4.1-1_i386.deb</a></td>
</tr>
-->
</table>
<h4>New in version 1.4.1 (7/18/2008)</h4>
<ul>
<li>Fixed bug: Descriptions could not be altered with "task 123 New description"
<li>Tweak: For "task calendar" month names are now centered over the month
<li>Removed TUTORIAL file contents in favor of online version
<li>New Mac Intel-only Leopard (10.5) binary package
</ul>
<p>
(Find out <a href="versions.html">what was new in prior versions</a>)
</p>
<h2>Troubleshooting</h2>
<p>
Task has been built from source and tested in the following environments:
</p>
<ul>
<li>OS X 10.4 Tiger
<li>OS X 10.5 Leopard
<li>Fedora Core 8
<li>Fedora Core 9
<li>Ubuntu 8 Hardy Heron
<li>Solaris 10
<li>Cygwin 1.5.25-14
</ul>
<p>
If you have difficulties building task, have found a bug, have a
suggestion for improvement, or a feature request, please send mail to
<a href="mailto:task@beckingham.net">task@beckingham.net</a>.
</p>
<p>
Take a look at the <a href="troubleshooting.html">troubleshooting guide</a>
for tips and workarounds to problems.
</p>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

163
html/troubleshooting.html Normal file
View File

@@ -0,0 +1,163 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task Troubleshooting Guide</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h1 class="title">Task Troubleshooting Guide</h1>
<p>
Here you will find tips and suggestions for making task behave
properly, and bug workarounds.
</p>
<br />
<h2 class="title">Segmentation Fault for certain commands</h2>
<div class="content">
<p>
Upgrading task to version 1.1.0, 1.2.0 and 1.3.0 can cause
segmentation faults. This is mostly occurring for Ubuntu users,
although there is no reason for it to be limited to Ubuntu.
</p>
<p>
Task 1.3.1 fixes this bug, but there is a workaround for users
of earlier versions. Add the following line to your ~/.taskrc
file:
</p>
<code><pre>dateformat=m/d/Y</pre></code>
<p class="small">
The "dateformat" setting is supported in task 1.1.0 and later.
</p>
</div>
<br />
<h2 class="title">How to get rid of the "Age" column</h2>
<div class="content">
<p>
The "Age" column that shows up on several reports is proving
to be unpopular. In task 1.2.0 and later, here is how to
remove it from the reports - make sure you have the line:
</p>
<code><pre>showage=no</pre></code>
<p>
in your ~/.taskrc file.
Note that the "task long" report does not obey this setting
in versions prior to 1.3.1.
</p>
<p class="small">
The "showage" setting is supported in task 1.2.0 or later.
<br />
The "task long" report supports this setting in versions 1.3.1
or later.
</p>
<div>
<br />
<h2 class="title">How do I build task under Cygwin?</h2>
<div class="content">
<p>
Task is built the same way everywhere. But under Cygwin, you'll
need to make sure you have the following packages available
first:
<ul>
<li>gcc
<li>make
<li>libncurses-devel
<li>libncurses8
</ul>
The gcc and make packages allow you to compile the code, and
are therefore required, but the ncurses packages are optional.
Ncurses will allow task to determine the width of the window, and
therefore use the whole width and wrap text accordingly, for a
more aesthetically pleasing display.
</p>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

142
html/usage.html Normal file
View File

@@ -0,0 +1,142 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task 1.4.1</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h2 class="title"><a name="usage">Command Usage<a></h2>
<div class="content">
<pre><code>task add [tags] [attrs] desc...
task list [tags] [attrs] desc...
task long [tags] [attrs] desc...
task ls [tags] [attrs] desc...
task completed [tags] [attrs] desc...
task ID [tags] [attrs] [desc...]
task ID /from/to/
task delete ID
task undelete ID
task info ID
task start ID
task done ID
task projects
task tags
task summary
task history
task ghistory
task next
task calendar
task active
task overdue
task oldest
task newest
task stats
task usage
task export
task color
task version
ID is the numeric identifier displayed by the 'task list' command
Tags are arbitrary words, any quantity:
+tag The + means add the tag
-tag The - means remove the tag
Attributes are:
project: Project name
priority: Priority
due: Due date
fg: Foreground color
bg: Background color
Any command or attribute name may be abbreviated if still unique:
task list project:Home
task li pro:Home
Some task descriptions need to be escaped because of the shell:
task add "quoted ' quote"
task add escaped \' quote
Many characters have special meaning to the shell, including:
$ ! ' " ( ) ; \ ` * ? { } [ ] < > | &amp; % # ~</code></pre>
<div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

219
html/versions.html Normal file
View File

@@ -0,0 +1,219 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Task Prior Versions</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="task.css" type="text/css" />
</head>
<body>
<div id="container">
<table>
<tr>
<td>
<div id="toolbar">
<a href="task.html">Home</a>
<a href="setup.html">Setup</a>
<a href="30second.html">30-second Tutorial</a>
<a href="simple.html">Simple</a>
<a href="advanced.html">Advanced</a>
<a href="shell.html">Shell</a>
<a href="config.html">Configuration</a>
<a href="color.html">Colors</a>
<a href="usage.html">Usage</a>
<a href="recur.html">Recurrence</a>
<a href="date.html">Date Handling</a>
<a href="troubleshooting.html">Troubleshooting</a>
<a href="versions.html">Old Versions</a>
</div>
<div id="content">
<br />
<br />
<br />
<h1 class="title">Task Prior Versions</h1>
<br />
<div class="content">
<p>
<h4>New in version 1.4.0 (7/10/2008)</h4>
Source: <a href="http://www.beckingham.net/task-1.4.0.tar.gz">task-1.4.0.tar.gz</a>
<br />
Debian package: <a href="http://www.beckingham.net/task_1.4.1-1_i386.deb">task_1.4.1-1_i386.deb</a>
(Thanks to <a href="http://blog.rfquerin.org">Richard Querin</a>)
</p>
<ul>
<li>Added new <a href="recur.html">recurring tasks</a> feature
<li>Added "task undelete" feature to restore a (very) recently deleted
task
<li>Added averages to the "task history" report
<li>Added bar chart history report "task ghistory"
<li>Added support for rc:&lt;file&gt; to allow override of the default
~/.taskrc file
<li>Added support for relative due: dates, such as "tomorrow", "friday",
"23rd", "eom"
<li>Added support for task filtering on all reports
<li>Automatically shuts off color, ncurses when output is not to a tty
<li>Added support for the ~ character in .taskrc data.location, for flexibility
<li>Allows colons on the description, provided what is to the left of the colon
is not a standard attribute name
<li>Fixed bug where Esc[0m sequences were being emitted for no good reason
<li>Fixed bug where table headers are underlined when color is turned off
<li>Fixed bug where adding a blank priority resulted in an assigned garbage value
<li>Fixed bug parsing date "07/08/2008" when using dateformat "m/d/Y"
</ul>
<p>
<h4>New in version 1.3.1</h4>
Source: <a href="http://www.beckingham.net/task-1.3.1.tar.gz">task-1.3.1.tar.gz</a>
<br />
Debian package: <a href="http://www.beckingham.net/task_1.3.1-1_i386.deb">task_1.3.1-1_i386.deb</a>
(Thanks to <a href="http://blog.rfquerin.org">Richard Querin</a>)
</p>
<ul>
<li>New configuration variable "defaultwidth" determines the width
of windows in the absense of ncurses support
<li>Fixed bug where "showage" configuration variable was not being
oberved by the "task long" report
<li>Fixed bug causing segmentation faults (mostly for Ubuntu users)
when various commands are run
<li>Fixed bug so that task now will recreate a missing ~/.taskrc file,
OR a missing ~/.task directory
</ul>
<p>
<h4>New in version 1.3.0</h4>
Source: <a href="http://www.beckingham.net/task-1.3.0.tar.gz">task-1.3.0.tar.gz</a>
<br />
Debian package: <a href="http://www.beckingham.net/task_1.3.0-0_i386.deb">task_1.3.0-0_i386.deb</a>
(Thanks to <a href="http://blog.rfquerin.org">Richard Querin</a>)
</p>
<ul>
<li>"task calendar" now displays multiple months per line, adjustable
by the "monthsperline" configuration variable. Feature added by
Damian Glenny
<li>Displays shorter message when a command is entered incorrectly,
and the full usage for "task help"
<li>"task export" can now filter tasks like the reports
<li>"task oldest" shows the oldest tasks
<li>"task newest" shows the newest tasks
<li>Fixed bug where task generates a segmentation fault for several
commands, when no "dateformat" configuration variable was present
<li>Fixed bug whereby if you have more than one task with a due date,
7 days gets added to the entry date of task 2..n
<li>Fixed bug whereby "1 wks" was being improperly pluralized
</ul>
<p>
<h4>New in version 1.2.0</h4>
Source: <a href="http://www.beckingham.net/task-1.2.0.tar.gz">task-1.2.0.tar.gz</a>
<br />
Debian package: <a href="http://www.beckingham.net/task_1.2.0-1_i386.deb">task_1.2.0-1_i386.deb</a>
(Thanks to <a href="http://blog.rfquerin.org">Richard Querin</a>)
</p>
<ul>
<li>Subprojects supported - please see documentation below, or TUTORIAL
file
<li>"dateformat" configuration variable now properly used to parse as
well as render dates
<li>"task list x" now performs a caseless comparison between "x" and
the task description
<li>"showage" configuration variable determines whether the "Age" column
should appear on the "task list" and "task next" reports
<li>Improvements to the TUTORIAL file and this page
</ul>
<p>
<h4>New in version 1.1.0</h4>
Source: <a href="http://www.beckingham.net/task-1.1.0.tar.gz">task-1.1.0.tar.gz</a>
<br />
Debian package: <a href="http://www.beckingham.net/task_1.1.0-1_i386.deb">task_1.1.0-1_i386.deb</a>
(Thanks to <a href="http://blog.rfquerin.org">Richard Querin</a>)
</p>
<ul>
<li>"blanklines" configuration variable to stop displaying unnecessary
white space and thus work better on small-screen devices
<li>"dateformat" configuration now determines how dates are formatted
<li>Better formatting of "task tags" output
<li>This home page set up, with TUTORIAL
<li>Added tags to the "task long" report
</ul>
<p>
<h4>New in version 1.0.1</h4>
Source: <a href="http://www.beckingham.net/task-1.0.1.tar.gz">task-1.0.1.tar.gz</a>
</p>
<ul>
<li>Fixed bug where the UUID generator not properly terminating strings
<li>Fixed bug where srandom/srand not called prior to custom UUID generation
</ul>
<p>
<h4>Version 1.0.0</h4>
Source: <a href="http://www.beckingham.net/task-1.0.0.tar.gz">task-1.0.0.tar.gz</a>
</p>
<p>
Task 1.0.0 was the first publicly available version of task.
</p>
</div>
<br />
<br />
<div class="content">
<p>
Copyright 2006-2008, P. Beckingham. All rights reserved.
</p>
</div>
</div>
</td>
<td align="right" valign="top" width="200px">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-9709799404235424";
/* Task Main */
google_ad_slot = "8660617875";
google_ad_width = 120;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4737637-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>

View File

@@ -1,17 +1,70 @@
Real Parsing
define grammar for command line
implement flex/bison parser
new grammar includes:
- task delete <ID> [<ID> ...]
- task done <ID> [<ID> ...]
User-Defined Reports
report.xxx=id,project(2+),priority(1-),description
change all list-based reports to user-defined
report.large=id,uuid,project,priority,entry,start,due,active,tags,description
report.long=id,project,priority,entry,start,due,tags,description
report.list=id,project,priority,due,active,description
report.ls=id,project,priority,description
Generalized Report Writer
provide column list, sort order, filter
Sorting is always: due+ priority- project+
ID UUID Project Priority Entry Start Due Active Tags Description
Test Suite
allow .taskrc override
debug=on to cause all cout to be csv
regression tests for every bug, command, feature
- allow .taskrc override
- debug=on to cause all cout to be csv
- regression tests for every bug, command, feature
Recurrence
+ new T::status recurring (stored as R)
+ new user-specifiable attributes - recur:<duration> [until:<date>]
+ duration:
daily, day, 1d
Nd
weekly, 1w
Nw
biweekly
monthly, 1m
bimonthly
Nm
quarterly, 1q
Nq
biannual, biyearly
annual, yearly, 1y
Na, Ny
+ recur: without due: => Error
+ until: without recur: => Error
+ New file format: supports status R, recur:, until:, base:, range:
- on TDB.gc, adjust base: and compress range: for T::status == recurring
- all recurring tasks are removed from lists by T::*pendingT, and a synthetic
addendum is generated
- when a recurring task is completed, range: is updated, and a synthetic
task is added to completed.data that retains the attributes of the root
- Scenario:
# Today = 6/22/2008
% task add Friday due:6/15/2008 recur:weekly until 8/1/2008
# task must generate a base and range
# base:6/15/2008
# range:-------
# ^6/15
# ^6/22
# ^6/29
# ^7/6
# ^7/13
# ^7/20
# ^7/27
% task ls
1 Friday 6/15/2008 .lte. today (overdue)
2 Friday 6/22/2008 .lte. today (due)
3 Friday 6/29/2008 one recurrence
4 Friday 7/6/2008 (not shown)
5 Friday 7/13/2008 (not shown)
6 Friday 7/20/2008 (not shown)
7 Friday 7/27/2008 (not shown)

View File

@@ -1,405 +0,0 @@
Config.o Config.o: Config.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc /usr/include/c++/4.0.0/fstream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/basic_file.h \
/usr/include/c++/4.0.0/bits/fstream.tcc /usr/include/c++/4.0.0/sstream \
/usr/include/c++/4.0.0/bits/sstream.tcc /usr/include/sys/stat.h task.h \
/usr/include/c++/4.0.0/vector /usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h /usr/include/sys/types.h \
Config.h Table.h color.h Grid.h color.h TDB.h T.h ../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
/usr/include/c++/4.0.0/fstream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/basic_file.h:
/usr/include/c++/4.0.0/bits/fstream.tcc:
/usr/include/c++/4.0.0/sstream:
/usr/include/c++/4.0.0/bits/sstream.tcc:
/usr/include/sys/stat.h:
task.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/sys/types.h:
Config.h:
Table.h:
color.h:
Grid.h:
color.h:
TDB.h:
T.h:
../auto.h:

View File

@@ -1,392 +0,0 @@
Date.o Date.o: Date.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc task.h \
/usr/include/c++/4.0.0/vector /usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h /usr/include/sys/types.h \
Config.h Table.h color.h Grid.h color.h TDB.h T.h ../auto.h Date.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
task.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/sys/types.h:
Config.h:
Table.h:
color.h:
Grid.h:
color.h:
TDB.h:
T.h:
../auto.h:
Date.h:

View File

@@ -1,390 +0,0 @@
T.o T.o: T.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc task.h \
/usr/include/c++/4.0.0/vector /usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h /usr/include/sys/types.h \
Config.h Table.h color.h Grid.h color.h TDB.h T.h ../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
task.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/sys/types.h:
Config.h:
Table.h:
color.h:
Grid.h:
color.h:
TDB.h:
T.h:
../auto.h:

View File

@@ -1,406 +0,0 @@
TDB.o TDB.o: TDB.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc /usr/include/c++/4.0.0/fstream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/basic_file.h \
/usr/include/c++/4.0.0/bits/fstream.tcc /usr/include/sys/file.h \
/usr/include/sys/types.h /usr/include/sys/fcntl.h \
/usr/include/sys/queue.h task.h /usr/include/c++/4.0.0/vector \
/usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h Config.h Table.h color.h \
Grid.h color.h TDB.h T.h ../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
/usr/include/c++/4.0.0/fstream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/basic_file.h:
/usr/include/c++/4.0.0/bits/fstream.tcc:
/usr/include/sys/file.h:
/usr/include/sys/types.h:
/usr/include/sys/fcntl.h:
/usr/include/sys/queue.h:
task.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
Config.h:
Table.h:
color.h:
Grid.h:
color.h:
TDB.h:
T.h:
../auto.h:

View File

@@ -1,397 +0,0 @@
Table.o Table.o: Table.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc Table.h \
/usr/include/c++/4.0.0/map /usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h \
/usr/include/c++/4.0.0/vector /usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc color.h Grid.h Date.h task.h \
/usr/include/sys/types.h Config.h Table.h color.h TDB.h T.h T.h \
../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
Table.h:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
color.h:
Grid.h:
Date.h:
task.h:
/usr/include/sys/types.h:
Config.h:
Table.h:
color.h:
TDB.h:
T.h:
T.h:
../auto.h:

View File

@@ -1,278 +0,0 @@
color.o color.o: color.cpp /usr/include/c++/4.0.0/string \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/cstring /usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/_types.h /usr/include/sys/_types.h \
/usr/include/sys/cdefs.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/sys/appleapiopts.h \
/usr/include/machine/signal.h /usr/include/i386/signal.h \
/usr/include/i386/_structs.h /usr/include/sys/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/unistd.h \
/usr/include/sys/unistd.h /usr/include/sys/select.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc color.h
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/sys/cdefs.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/sys/appleapiopts.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
color.h:

View File

@@ -1,393 +0,0 @@
parse.o parse.o: parse.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc /usr/include/c++/4.0.0/vector \
/usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h Date.h task.h \
/usr/include/sys/types.h Config.h Table.h color.h Grid.h color.h TDB.h \
T.h ../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
Date.h:
task.h:
/usr/include/sys/types.h:
Config.h:
Table.h:
color.h:
Grid.h:
color.h:
TDB.h:
T.h:
../auto.h:

View File

@@ -1,392 +0,0 @@
rules.o rules.o: rules.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc Config.h \
/usr/include/c++/4.0.0/map /usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h \
/usr/include/c++/4.0.0/vector /usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc Table.h color.h Grid.h Date.h \
T.h task.h /usr/include/sys/types.h color.h TDB.h ../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
Config.h:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
Table.h:
color.h:
Grid.h:
Date.h:
T.h:
task.h:
/usr/include/sys/types.h:
color.h:
TDB.h:
../auto.h:

View File

@@ -1,417 +0,0 @@
task.o task.o: task.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc /usr/include/c++/4.0.0/iomanip \
/usr/include/c++/4.0.0/functional /usr/include/c++/4.0.0/fstream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/basic_file.h \
/usr/include/c++/4.0.0/bits/fstream.tcc /usr/include/sys/types.h \
/usr/include/pwd.h Config.h /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h \
/usr/include/c++/4.0.0/vector /usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc Date.h Table.h color.h Grid.h \
TDB.h T.h task.h color.h ../auto.h /usr/include/ncurses.h \
/usr/include/ncurses_dll.h /usr/include/unctrl.h /usr/include/curses.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
/usr/include/c++/4.0.0/iomanip:
/usr/include/c++/4.0.0/functional:
/usr/include/c++/4.0.0/fstream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/basic_file.h:
/usr/include/c++/4.0.0/bits/fstream.tcc:
/usr/include/sys/types.h:
/usr/include/pwd.h:
Config.h:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
Date.h:
Table.h:
color.h:
Grid.h:
TDB.h:
T.h:
task.h:
color.h:
../auto.h:
/usr/include/ncurses.h:
/usr/include/ncurses_dll.h:
/usr/include/unctrl.h:
/usr/include/curses.h:

View File

@@ -1,390 +0,0 @@
text.o text.o: text.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc /usr/include/c++/4.0.0/vector \
/usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc task.h \
/usr/include/c++/4.0.0/map /usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h /usr/include/sys/types.h \
Config.h Table.h color.h Grid.h color.h TDB.h T.h ../auto.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
task.h:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
/usr/include/sys/types.h:
Config.h:
Table.h:
color.h:
Grid.h:
color.h:
TDB.h:
T.h:
../auto.h:

View File

@@ -1,395 +0,0 @@
util.o util.o: util.cpp /usr/include/c++/4.0.0/iostream \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h \
/usr/include/c++/4.0.0/ostream /usr/include/c++/4.0.0/ios \
/usr/include/c++/4.0.0/iosfwd \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h \
/usr/include/c++/4.0.0/clocale /usr/include/locale.h \
/usr/include/_locale.h /usr/include/sys/cdefs.h /usr/include/_types.h \
/usr/include/sys/_types.h /usr/include/machine/_types.h \
/usr/include/i386/_types.h /usr/include/c++/4.0.0/cstring \
/usr/include/c++/4.0.0/cstddef \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h \
/usr/include/string.h /usr/include/c++/4.0.0/cstdio \
/usr/include/stdio.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/pthread_impl.h /usr/include/sched.h \
/usr/include/time.h /usr/include/_structs.h /usr/include/sys/_structs.h \
/usr/include/unistd.h /usr/include/sys/unistd.h \
/usr/include/sys/select.h /usr/include/sys/appleapiopts.h \
/usr/include/sys/_select.h /usr/include/c++/4.0.0/cctype \
/usr/include/ctype.h /usr/include/runetype.h \
/usr/include/c++/4.0.0/bits/stringfwd.h \
/usr/include/c++/4.0.0/bits/postypes.h /usr/include/c++/4.0.0/cwchar \
/usr/include/c++/4.0.0/ctime /usr/include/wchar.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h \
/usr/include/_wctype.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h \
/usr/include/c++/4.0.0/bits/functexcept.h \
/usr/include/c++/4.0.0/exception_defines.h \
/usr/include/c++/4.0.0/exception \
/usr/include/c++/4.0.0/bits/char_traits.h \
/usr/include/c++/4.0.0/bits/stl_algobase.h \
/usr/include/c++/4.0.0/climits \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h \
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h \
/usr/include/limits.h /usr/include/machine/limits.h \
/usr/include/i386/limits.h /usr/include/i386/_limits.h \
/usr/include/sys/syslimits.h /usr/include/c++/4.0.0/cstdlib \
/usr/include/stdlib.h /usr/include/available.h /usr/include/sys/wait.h \
/usr/include/sys/signal.h /usr/include/machine/signal.h \
/usr/include/i386/signal.h /usr/include/i386/_structs.h \
/usr/include/machine/_structs.h /usr/include/mach/i386/_structs.h \
/usr/include/sys/resource.h /usr/include/machine/endian.h \
/usr/include/i386/endian.h /usr/include/sys/_endian.h \
/usr/include/libkern/_OSByteOrder.h \
/usr/include/libkern/i386/_OSByteOrder.h /usr/include/alloca.h \
/usr/include/machine/types.h /usr/include/i386/types.h \
/usr/include/c++/4.0.0/bits/stl_pair.h \
/usr/include/c++/4.0.0/bits/cpp_type_traits.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h \
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h \
/usr/include/c++/4.0.0/bits/concept_check.h \
/usr/include/c++/4.0.0/bits/stl_iterator.h \
/usr/include/c++/4.0.0/debug/debug.h /usr/include/c++/4.0.0/cassert \
/usr/include/assert.h /usr/include/c++/4.0.0/bits/localefwd.h \
/usr/include/c++/4.0.0/bits/ios_base.h \
/usr/include/c++/4.0.0/bits/atomicity.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h \
/usr/include/c++/4.0.0/bits/locale_classes.h \
/usr/include/c++/4.0.0/string /usr/include/c++/4.0.0/memory \
/usr/include/c++/4.0.0/bits/allocator.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h \
/usr/include/c++/4.0.0/ext/new_allocator.h /usr/include/c++/4.0.0/new \
/usr/include/c++/4.0.0/bits/stl_construct.h \
/usr/include/c++/4.0.0/bits/stl_uninitialized.h \
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h \
/usr/include/c++/4.0.0/limits \
/usr/include/c++/4.0.0/bits/stl_function.h \
/usr/include/c++/4.0.0/bits/basic_string.h \
/usr/include/c++/4.0.0/algorithm /usr/include/c++/4.0.0/bits/stl_algo.h \
/usr/include/c++/4.0.0/bits/stl_heap.h \
/usr/include/c++/4.0.0/bits/stl_tempbuf.h \
/usr/include/c++/4.0.0/bits/basic_string.tcc \
/usr/include/c++/4.0.0/streambuf \
/usr/include/c++/4.0.0/bits/streambuf.tcc \
/usr/include/c++/4.0.0/bits/basic_ios.h \
/usr/include/c++/4.0.0/bits/streambuf_iterator.h \
/usr/include/c++/4.0.0/bits/locale_facets.h \
/usr/include/c++/4.0.0/cwctype /usr/include/wctype.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h \
/usr/include/c++/4.0.0/bits/codecvt.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h \
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h \
/usr/include/c++/4.0.0/bits/basic_ios.tcc \
/usr/include/c++/4.0.0/bits/ostream.tcc /usr/include/c++/4.0.0/locale \
/usr/include/c++/4.0.0/bits/locale_facets.tcc \
/usr/include/c++/4.0.0/typeinfo /usr/include/c++/4.0.0/istream \
/usr/include/c++/4.0.0/bits/istream.tcc /usr/include/c++/4.0.0/vector \
/usr/include/c++/4.0.0/bits/stl_vector.h \
/usr/include/c++/4.0.0/bits/stl_bvector.h \
/usr/include/c++/4.0.0/bits/vector.tcc /usr/include/sys/types.h \
/usr/include/sys/time.h Table.h /usr/include/c++/4.0.0/map \
/usr/include/c++/4.0.0/bits/stl_tree.h \
/usr/include/c++/4.0.0/bits/stl_map.h \
/usr/include/c++/4.0.0/bits/stl_multimap.h color.h Grid.h task.h \
Config.h color.h TDB.h T.h ../auto.h /usr/include/uuid/uuid.h
/usr/include/c++/4.0.0/iostream:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++config.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/os_defines.h:
/usr/include/c++/4.0.0/ostream:
/usr/include/c++/4.0.0/ios:
/usr/include/c++/4.0.0/iosfwd:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++locale.h:
/usr/include/c++/4.0.0/clocale:
/usr/include/locale.h:
/usr/include/_locale.h:
/usr/include/sys/cdefs.h:
/usr/include/_types.h:
/usr/include/sys/_types.h:
/usr/include/machine/_types.h:
/usr/include/i386/_types.h:
/usr/include/c++/4.0.0/cstring:
/usr/include/c++/4.0.0/cstddef:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stddef.h:
/usr/include/string.h:
/usr/include/c++/4.0.0/cstdio:
/usr/include/stdio.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++io.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/pthread_impl.h:
/usr/include/sched.h:
/usr/include/time.h:
/usr/include/_structs.h:
/usr/include/sys/_structs.h:
/usr/include/unistd.h:
/usr/include/sys/unistd.h:
/usr/include/sys/select.h:
/usr/include/sys/appleapiopts.h:
/usr/include/sys/_select.h:
/usr/include/c++/4.0.0/cctype:
/usr/include/ctype.h:
/usr/include/runetype.h:
/usr/include/c++/4.0.0/bits/stringfwd.h:
/usr/include/c++/4.0.0/bits/postypes.h:
/usr/include/c++/4.0.0/cwchar:
/usr/include/c++/4.0.0/ctime:
/usr/include/wchar.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdarg.h:
/usr/include/_wctype.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/stdint.h:
/usr/include/c++/4.0.0/bits/functexcept.h:
/usr/include/c++/4.0.0/exception_defines.h:
/usr/include/c++/4.0.0/exception:
/usr/include/c++/4.0.0/bits/char_traits.h:
/usr/include/c++/4.0.0/bits/stl_algobase.h:
/usr/include/c++/4.0.0/climits:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/limits.h:
/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/machine/limits.h:
/usr/include/i386/limits.h:
/usr/include/i386/_limits.h:
/usr/include/sys/syslimits.h:
/usr/include/c++/4.0.0/cstdlib:
/usr/include/stdlib.h:
/usr/include/available.h:
/usr/include/sys/wait.h:
/usr/include/sys/signal.h:
/usr/include/machine/signal.h:
/usr/include/i386/signal.h:
/usr/include/i386/_structs.h:
/usr/include/machine/_structs.h:
/usr/include/mach/i386/_structs.h:
/usr/include/sys/resource.h:
/usr/include/machine/endian.h:
/usr/include/i386/endian.h:
/usr/include/sys/_endian.h:
/usr/include/libkern/_OSByteOrder.h:
/usr/include/libkern/i386/_OSByteOrder.h:
/usr/include/alloca.h:
/usr/include/machine/types.h:
/usr/include/i386/types.h:
/usr/include/c++/4.0.0/bits/stl_pair.h:
/usr/include/c++/4.0.0/bits/cpp_type_traits.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_types.h:
/usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h:
/usr/include/c++/4.0.0/bits/concept_check.h:
/usr/include/c++/4.0.0/bits/stl_iterator.h:
/usr/include/c++/4.0.0/debug/debug.h:
/usr/include/c++/4.0.0/cassert:
/usr/include/assert.h:
/usr/include/c++/4.0.0/bits/localefwd.h:
/usr/include/c++/4.0.0/bits/ios_base.h:
/usr/include/c++/4.0.0/bits/atomicity.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/atomic_word.h:
/usr/include/c++/4.0.0/bits/locale_classes.h:
/usr/include/c++/4.0.0/string:
/usr/include/c++/4.0.0/memory:
/usr/include/c++/4.0.0/bits/allocator.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/c++allocator.h:
/usr/include/c++/4.0.0/ext/new_allocator.h:
/usr/include/c++/4.0.0/new:
/usr/include/c++/4.0.0/bits/stl_construct.h:
/usr/include/c++/4.0.0/bits/stl_uninitialized.h:
/usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h:
/usr/include/c++/4.0.0/limits:
/usr/include/c++/4.0.0/bits/stl_function.h:
/usr/include/c++/4.0.0/bits/basic_string.h:
/usr/include/c++/4.0.0/algorithm:
/usr/include/c++/4.0.0/bits/stl_algo.h:
/usr/include/c++/4.0.0/bits/stl_heap.h:
/usr/include/c++/4.0.0/bits/stl_tempbuf.h:
/usr/include/c++/4.0.0/bits/basic_string.tcc:
/usr/include/c++/4.0.0/streambuf:
/usr/include/c++/4.0.0/bits/streambuf.tcc:
/usr/include/c++/4.0.0/bits/basic_ios.h:
/usr/include/c++/4.0.0/bits/streambuf_iterator.h:
/usr/include/c++/4.0.0/bits/locale_facets.h:
/usr/include/c++/4.0.0/cwctype:
/usr/include/wctype.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_base.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/ctype_inline.h:
/usr/include/c++/4.0.0/bits/codecvt.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/time_members.h:
/usr/include/c++/4.0.0/i686-apple-darwin9/bits/messages_members.h:
/usr/include/c++/4.0.0/bits/basic_ios.tcc:
/usr/include/c++/4.0.0/bits/ostream.tcc:
/usr/include/c++/4.0.0/locale:
/usr/include/c++/4.0.0/bits/locale_facets.tcc:
/usr/include/c++/4.0.0/typeinfo:
/usr/include/c++/4.0.0/istream:
/usr/include/c++/4.0.0/bits/istream.tcc:
/usr/include/c++/4.0.0/vector:
/usr/include/c++/4.0.0/bits/stl_vector.h:
/usr/include/c++/4.0.0/bits/stl_bvector.h:
/usr/include/c++/4.0.0/bits/vector.tcc:
/usr/include/sys/types.h:
/usr/include/sys/time.h:
Table.h:
/usr/include/c++/4.0.0/map:
/usr/include/c++/4.0.0/bits/stl_tree.h:
/usr/include/c++/4.0.0/bits/stl_map.h:
/usr/include/c++/4.0.0/bits/stl_multimap.h:
color.h:
Grid.h:
task.h:
Config.h:
color.h:
TDB.h:
T.h:
../auto.h:
/usr/include/uuid/uuid.h:

View File

@@ -27,8 +27,11 @@
#include <iostream>
#include <fstream>
#include <sstream>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <pwd.h>
#include "task.h"
#include "Config.h"
@@ -84,37 +87,33 @@ bool Config::load (const std::string& file)
}
////////////////////////////////////////////////////////////////////////////////
void Config::createDefault (const std::string& file)
void Config::createDefault (const std::string& home)
{
if (confirm (
"A configuration file could not be found in "
+ file
+ "\n\n"
+ "Would you like a sample .taskrc created, so task can proceed?"))
{
// Determine a path to the task directory.
std::string taskDir = "";
for (int i = file.length () - 1; i >= 0; --i)
{
if (file[i] == '/')
{
taskDir = file.substr (0, i) + "/.task";
if (-1 == access (taskDir.c_str (), F_OK))
mkdir (taskDir.c_str (), S_IRWXU);
break;
}
}
// Strip trailing slash off home directory, if necessary.
std::string terminatedHome = home;
if (home[home.length () - 1] == '/')
terminatedHome = home.substr (0, home.length () - 1);
if (taskDir != "")
// Determine default names of init file and task directory.
std::string rcFile = terminatedHome + "/.taskrc";
std::string dataDir = terminatedHome + "/.task";;
// If rcFile is not found, offer to create one.
if (-1 == access (rcFile.c_str (), F_OK))
{
if (confirm (
"A configuration file could not be found in "
+ rcFile
+ "\n\n"
+ "Would you like a sample .taskrc created, so task can proceed?"))
{
// Create a sample .taskrc file.
FILE* out;
if ((out = fopen (file.c_str (), "w")))
if ((out = fopen (rcFile.c_str (), "w")))
{
fprintf (out, "data.location=%s\n", taskDir.c_str ());
fprintf (out, "data.location=%s\n", dataDir.c_str ());
fprintf (out, "command.logging=off\n");
fprintf (out, "confirmation=yes\n");
fprintf (out, "#nag=Note: try to stick to high priority tasks. See \"task next\".\n");
fprintf (out, "next=2\n");
fprintf (out, "dateformat=m/d/Y\n");
fprintf (out, "showage=yes\n");
@@ -135,29 +134,20 @@ void Config::createDefault (const std::string& file)
fclose (out);
// Now set the live values.
set ("data.location", taskDir);
set ("command.logging", "off");
set ("confirmation", "yes");
set ("next", 1);
set ("dateformat", "m/d/Y");
set ("showage", "yes");
set ("monthsperline", 3);
set ("curses", "on");
set ("color", "on");
set ("color.overdue", "red");
set ("color.active", "cyan");
set ("color.tagged", "yellow");
std::cout << "Done." << std::endl;
}
}
}
this->load (rcFile);
if (-1 == access (dataDir.c_str (), F_OK))
mkdir (dataDir.c_str (), S_IRWXU);
}
////////////////////////////////////////////////////////////////////////////////
// Return the configuration value given the specified key.
const std::string& Config::get (const char* key)
const std::string Config::get (const char* key)
{
return this->get (std::string (key));
}
@@ -165,7 +155,7 @@ const std::string& Config::get (const char* key)
////////////////////////////////////////////////////////////////////////////////
// Return the configuration value given the specified key. If a default_value
// is present, it will be the returned value in the event of a missing key.
const std::string& Config::get (
const std::string Config::get (
const char* key,
const char* default_value)
{
@@ -174,7 +164,7 @@ const std::string& Config::get (
////////////////////////////////////////////////////////////////////////////////
// Return the configuration value given the specified key.
const std::string& Config::get (const std::string& key)
const std::string Config::get (const std::string& key)
{
return (*this)[key];
}
@@ -182,7 +172,7 @@ const std::string& Config::get (const std::string& key)
////////////////////////////////////////////////////////////////////////////////
// Return the configuration value given the specified key. If a default_value
// is present, it will be the returned value in the event of a missing key.
const std::string& Config::get (
const std::string Config::get (
const std::string& key,
const std::string& default_value)
{

View File

@@ -40,10 +40,10 @@ public:
bool load (const std::string&);
void createDefault (const std::string&);
const std::string& get (const char*);
const std::string& get (const char*, const char*);
const std::string& get (const std::string&);
const std::string& get (const std::string&, const std::string&);
const std::string get (const char*);
const std::string get (const char*, const char*);
const std::string get (const std::string&);
const std::string get (const std::string&, const std::string&);
bool get (const std::string&, bool);
int get (const std::string&, const int);
double get (const std::string&, const double);

View File

@@ -63,6 +63,10 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */)
int day = 0;
int year = 0;
// Before parsing according to "format", perhaps this is a relative date?
if (isRelativeDate (mdy))
return;
unsigned int i = 0; // Index into mdy.
for (unsigned int f = 0; f < format.length (); ++f)
@@ -78,8 +82,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */)
}
if (i + 1 < mdy.length () &&
mdy[i + 0] == '1' &&
(mdy[i + 1] == '0' || mdy[i + 1] == '1' || mdy[i + 1] == '2'))
(mdy[i + 0] == '0' || mdy[i + 0] == '1') &&
::isdigit (mdy[i + 1]))
{
month = ::atoi (mdy.substr (i, 2).c_str ());
i += 2;
@@ -98,8 +102,8 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */)
throw std::string ("\"") + mdy + "\" is not a valid date.";
}
if (i + 1 < mdy.length () &&
(mdy[i + 0] == '1' || mdy[i + 0] == '2' || mdy[i + 0] == '3') &&
if (i + 1 < mdy.length () &&
(mdy[i + 0] == '0' || mdy[i + 0] == '1' || mdy[i + 0] == '2' || mdy[i + 0] == '3') &&
::isdigit (mdy[i + 1]))
{
day = ::atoi (mdy.substr (i, 2).c_str ());
@@ -184,7 +188,7 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */)
t.tm_mon = month - 1;
t.tm_year = year - 1900;
mT = mktime (&t);
mT = mktime (&t);
}
////////////////////////////////////////////////////////////////////////////////
@@ -313,7 +317,7 @@ std::string Date::monthName (int month)
assert (month > 0);
assert (month <= 12);
return months[month -1];
return months[month - 1];
}
////////////////////////////////////////////////////////////////////////////////
@@ -357,6 +361,22 @@ int Date::dayOfWeek () const
return t->tm_wday;
}
////////////////////////////////////////////////////////////////////////////////
int Date::dayOfWeek (const std::string& input)
{
std::string in = lowerCase (input);
if (in == "sunday") return 0;
if (in == "monday") return 1;
if (in == "tuesday") return 2;
if (in == "wednesday") return 3;
if (in == "thursday") return 4;
if (in == "friday") return 5;
if (in == "saturday") return 6;
return -1;
}
////////////////////////////////////////////////////////////////////////////////
int Date::month () const
{
@@ -414,6 +434,36 @@ bool Date::operator>= (const Date& rhs)
return mT >= rhs.mT;
}
////////////////////////////////////////////////////////////////////////////////
bool Date::sameDay (const Date& rhs)
{
if (this->year () == rhs.year () &&
this->month () == rhs.month () &&
this->day () == rhs.day ())
return true;
return false;
}
////////////////////////////////////////////////////////////////////////////////
bool Date::sameMonth (const Date& rhs)
{
if (this->year () == rhs.year () &&
this->month () == rhs.month ())
return true;
return false;
}
////////////////////////////////////////////////////////////////////////////////
bool Date::sameYear (const Date& rhs)
{
if (this->year () == rhs.year ())
return true;
return false;
}
////////////////////////////////////////////////////////////////////////////////
Date Date::operator+ (const int delta)
{
@@ -441,3 +491,151 @@ time_t Date::operator- (const Date& rhs)
}
////////////////////////////////////////////////////////////////////////////////
// If the input string looks like a relative date, determine that date, set mT
// and return true.
//
// What is a relative date? All of the following should be recognizable, and
// converted to an absolute date:
// wednesday
// fri
// 23rd
// today
// tomorrow
// yesterday
// eow (end of week)
// eom (end of month)
// eoy (end of year)
bool Date::isRelativeDate (const std::string& input)
{
std::string in (lowerCase (input));
Date today;
std::vector <std::string> supported;
supported.push_back ("monday");
supported.push_back ("tuesday");
supported.push_back ("wednesday");
supported.push_back ("thursday");
supported.push_back ("friday");
supported.push_back ("saturday");
supported.push_back ("sunday");
supported.push_back ("today");
supported.push_back ("tomorrow");
supported.push_back ("yesterday");
supported.push_back ("eow");
supported.push_back ("eom");
supported.push_back ("eoy");
std::vector <std::string> matches;
if (autoComplete (in, supported, matches) == 1)
{
std::string found = matches[0];
// If day name.
int dow;
if ((dow = Date::dayOfWeek (found)) != -1 ||
found == "eow")
{
if (found == "eow")
dow = 5;
if (today.dayOfWeek () >= dow)
today += (dow - today.dayOfWeek () + 7) * 86400;
else
today += (dow - today.dayOfWeek ()) * 86400;
mT = today.mT;
return true;
}
else if (found == "today")
{
mT = today.mT;
return true;
}
else if (found == "tomorrow")
{
mT = today.mT + 86400;
return true;
}
else if (found == "yesterday")
{
mT = today.mT - 86400;
return true;
}
else if (found == "eom")
{
Date then (today.month (),
daysInMonth (today.month (), today.year ()),
today.year ());
mT = then.mT;
return true;
}
else if (found == "eoy")
{
Date then (12, 31, today.year ());
mT = then.mT;
return true;
}
}
// Support "21st" to indicate the next date that is the 21st day.
else if (input.length () <= 4 &&
isdigit (input[0]))
{
int number;
std::string ordinal;
if (isdigit (input[1]))
{
number = ::atoi (input.substr (0, 2).c_str ());
ordinal = lowerCase (input.substr (2, std::string::npos));
}
else
{
number = ::atoi (input.substr (0, 2).c_str ());
ordinal = lowerCase (input.substr (1, std::string::npos));
}
// Sanity check.
if (number <= 31)
{
if (ordinal == "st" ||
ordinal == "nd" ||
ordinal == "rd" ||
ordinal == "th")
{
int m = today.month ();
int d = today.day ();
int y = today.year ();
// If it is this month.
if (d < number &&
number <= Date::daysInMonth (m, y))
{
Date then (m, number, y);
mT = then.mT;
return true;
}
do
{
m++;
if (m > 12)
{
m = 1;
y++;
}
}
while (number > Date::daysInMonth (m, y));
Date then (m, number, y);
mT = then.mT;
return true;
}
}
}
return false;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -52,11 +52,12 @@ public:
static std::string monthName (int);
static void dayName (int, std::string&);
static std::string dayName (int);
int dayOfWeek () const;
static int dayOfWeek (const std::string&);
int month () const;
int day () const;
int year () const;
int dayOfWeek () const;
bool operator== (const Date&);
bool operator!= (const Date&);
@@ -64,6 +65,9 @@ public:
bool operator> (const Date&);
bool operator<= (const Date&);
bool operator>= (const Date&);
bool sameDay (const Date&);
bool sameMonth (const Date&);
bool sameYear (const Date&);
Date operator+ (const int);
Date& operator+= (const int);
@@ -71,6 +75,9 @@ public:
time_t operator- (const Date&);
private:
bool isRelativeDate (const std::string&);
protected:
time_t mT;
};

View File

@@ -1,3 +1,3 @@
bin_PROGRAMS = task
task_SOURCES = Config.cpp Date.cpp T.cpp TDB.cpp Table.cpp Grid.cpp color.cpp parse.cpp task.cpp util.cpp text.cpp rules.cpp Config.h Date.h T.h TDB.h Table.h Grid.h color.h task.h
task_SOURCES = Config.cpp Date.cpp T.cpp TDB.cpp Table.cpp Grid.cpp color.cpp parse.cpp task.cpp command.cpp report.cpp util.cpp text.cpp rules.cpp Config.h Date.h T.h TDB.h Table.h Grid.h color.h task.h
AM_CPPFLAGS = -Wall -pedantic -ggdb3 -fno-rtti

View File

@@ -45,8 +45,8 @@ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_task_OBJECTS = Config.$(OBJEXT) Date.$(OBJEXT) T.$(OBJEXT) \
TDB.$(OBJEXT) Table.$(OBJEXT) Grid.$(OBJEXT) color.$(OBJEXT) \
parse.$(OBJEXT) task.$(OBJEXT) util.$(OBJEXT) text.$(OBJEXT) \
rules.$(OBJEXT)
parse.$(OBJEXT) task.$(OBJEXT) command.$(OBJEXT) \
report.$(OBJEXT) util.$(OBJEXT) text.$(OBJEXT) rules.$(OBJEXT)
task_OBJECTS = $(am_task_OBJECTS)
task_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
@@ -154,7 +154,7 @@ sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
task_SOURCES = Config.cpp Date.cpp T.cpp TDB.cpp Table.cpp Grid.cpp color.cpp parse.cpp task.cpp util.cpp text.cpp rules.cpp Config.h Date.h T.h TDB.h Table.h Grid.h color.h task.h
task_SOURCES = Config.cpp Date.cpp T.cpp TDB.cpp Table.cpp Grid.cpp color.cpp parse.cpp task.cpp command.cpp report.cpp util.cpp text.cpp rules.cpp Config.h Date.h T.h TDB.h Table.h Grid.h color.h task.h
AM_CPPFLAGS = -Wall -pedantic -ggdb3 -fno-rtti
all: all-am
@@ -229,7 +229,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TDB.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Table.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/report.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rules.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/task.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text.Po@am__quote@

View File

@@ -247,7 +247,7 @@ void T::setSubstitution (const std::string& from, const std::string& to)
// uuid status [tags] [attributes] description
//
// uuid \x{8}-\x{4}-\x{4}-\x{4}-\x{12}
// status - O X
// status - + X r
// tags \w+ \s ...
// attributes \w+:\w+ \s ...
// description .+
@@ -261,6 +261,7 @@ const std::string T::compose () const
if (mStatus == pending) line += "- [";
else if (mStatus == completed) line += "+ [";
else if (mStatus == deleted) line += "X [";
else if (mStatus == recurring) line += "r [";
// Tags
for (size_t i = 0; i < mTags.size (); ++i)
@@ -303,6 +304,7 @@ const std::string T::composeCSV ()
if (mStatus == pending) line += "'pending',";
else if (mStatus == completed) line += "'completed',";
else if (mStatus == deleted) line += "'deleted',";
else if (mStatus == recurring) line += "'recurring',";
// Tags
line += "'";
@@ -422,7 +424,8 @@ void T::parse (const std::string& line)
mStatus = line[37] == '+' ? completed
: line[37] == 'X' ? deleted
: pending;
: line[37] == 'r' ? recurring
: pending;
size_t openTagBracket = line.find ("[");
size_t closeTagBracket = line.find ("]", openTagBracket);
@@ -447,7 +450,7 @@ void T::parse (const std::string& line)
{
std::vector <std::string> pair;
split (pair, pairs[i], ':');
if (pair[1] != "")
if (pair.size () == 2)
mAttributes[pair[0]] = pair[1];
}
@@ -499,7 +502,7 @@ int T::determineVersion (const std::string& line)
line[18] == '-' &&
line[23] == '-' &&
line[36] == ' ' &&
(line[37] == '-' || line[37] == '+' || line[37] == 'X'))
(line[37] == '-' || line[37] == '+' || line[37] == 'X' || line[37] == 'r'))
return 2;
// Version 3?
@@ -518,3 +521,11 @@ int T::determineVersion (const std::string& line)
}
////////////////////////////////////////////////////////////////////////////////
// TODO Expand this method into a full-blown task validation check.
bool T::validate () const
{
// TODO Verify until > due
return true;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -32,12 +32,12 @@
#include <map>
// Length of longest line.
#define T_LINE_MAX 8192
#define T_LINE_MAX 32768
class T
{
public:
enum status {pending, completed, deleted};
enum status {pending, completed, deleted, recurring};
T (); // Default constructor
T (const std::string&); // Initialize by parsing storage format
@@ -80,6 +80,7 @@ public:
const std::string compose () const;
const std::string composeCSV ();
void parse (const std::string&);
bool validate () const;
private:
int determineVersion (const std::string&);

View File

@@ -38,6 +38,7 @@ TDB::TDB ()
: mPendingFile ("")
, mCompletedFile ("")
, mLogFile ("")
, mId (1)
{
}
@@ -49,7 +50,7 @@ TDB::~TDB ()
////////////////////////////////////////////////////////////////////////////////
void TDB::dataDirectory (const std::string& directory)
{
if (! access (directory.c_str (), F_OK))
if (! access (expandPath (directory).c_str (), F_OK))
{
mPendingFile = directory + "/pending.data";
mCompletedFile = directory + "/completed.data";
@@ -67,7 +68,7 @@ void TDB::dataDirectory (const std::string& directory)
////////////////////////////////////////////////////////////////////////////////
// Combine allPendingT with allCompletedT.
// Note: this method is O(N1) + O(N2), where N2 is not bounded.
bool TDB::allT (std::vector <T>& all) const
bool TDB::allT (std::vector <T>& all)
{
all.clear ();
@@ -95,20 +96,20 @@ bool TDB::allT (std::vector <T>& all) const
////////////////////////////////////////////////////////////////////////////////
// Only accesses to the pending file result in Tasks that have assigned ids.
bool TDB::pendingT (std::vector <T>& all) const
bool TDB::pendingT (std::vector <T>& all)
{
all.clear ();
std::vector <std::string> lines;
if (readLockedFile (mPendingFile, lines))
{
int id = 1;
mId = 1;
std::vector <std::string>::iterator it;
for (it = lines.begin (); it != lines.end (); ++it)
{
T t (*it);
t.setId (id++);
t.setId (mId++);
if (t.getStatus () == T::pending)
all.push_back (t);
}
@@ -121,20 +122,20 @@ bool TDB::pendingT (std::vector <T>& all) const
////////////////////////////////////////////////////////////////////////////////
// Only accesses to the pending file result in Tasks that have assigned ids.
bool TDB::allPendingT (std::vector <T>& all) const
bool TDB::allPendingT (std::vector <T>& all)
{
all.clear ();
std::vector <std::string> lines;
if (readLockedFile (mPendingFile, lines))
{
int id = 1;
mId = 1;
std::vector <std::string>::iterator it;
for (it = lines.begin (); it != lines.end (); ++it)
{
T t (*it);
t.setId (id++);
t.setId (mId++);
all.push_back (t);
}
@@ -188,7 +189,7 @@ bool TDB::allCompletedT (std::vector <T>& all) const
}
////////////////////////////////////////////////////////////////////////////////
bool TDB::deleteT (const T& t) const
bool TDB::deleteT (const T& t)
{
T task (t);
@@ -212,7 +213,7 @@ bool TDB::deleteT (const T& t) const
}
////////////////////////////////////////////////////////////////////////////////
bool TDB::completeT (const T& t) const
bool TDB::completeT (const T& t)
{
T task (t);
@@ -239,7 +240,6 @@ bool TDB::completeT (const T& t) const
bool TDB::addT (const T& t) const
{
T task (t);
std::vector <std::string> tags;
task.getTags (tags);
@@ -254,14 +254,15 @@ bool TDB::addT (const T& t) const
}
}
if (task.getStatus () == T::pending)
if (task.getStatus () == T::pending ||
task.getStatus () == T::recurring)
return writePending (task);
return writeCompleted (task);
}
////////////////////////////////////////////////////////////////////////////////
bool TDB::modifyT (const T& t) const
bool TDB::modifyT (const T& t)
{
T modified (t);
@@ -348,7 +349,7 @@ bool TDB::lock (FILE* file) const
}
////////////////////////////////////////////////////////////////////////////////
bool TDB::overwritePending (std::vector <T>& all) const
bool TDB::overwritePending (std::vector <T>& all)
{
// Write a single task to the pending file
FILE* out;
@@ -453,7 +454,7 @@ bool TDB::readLockedFile (
}
////////////////////////////////////////////////////////////////////////////////
int TDB::gc () const
int TDB::gc ()
{
int count = 0;
@@ -468,7 +469,8 @@ int TDB::gc () const
for (it = all.begin (); it != all.end (); ++it)
{
// Some tasks stay in the pending file.
if (it->getStatus () == T::pending)
if (it->getStatus () == T::pending ||
it->getStatus () == T::recurring)
pending.push_back (*it);
// Others are transferred to the completed file.
@@ -485,4 +487,10 @@ int TDB::gc () const
}
////////////////////////////////////////////////////////////////////////////////
int TDB::nextId ()
{
return mId++;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -38,22 +38,23 @@ public:
~TDB ();
void dataDirectory (const std::string&);
bool allT (std::vector <T>&) const;
bool pendingT (std::vector <T>&) const;
bool allPendingT (std::vector <T>&) const;
bool allT (std::vector <T>&);
bool pendingT (std::vector <T>&);
bool allPendingT (std::vector <T>&);
bool completedT (std::vector <T>&) const;
bool allCompletedT (std::vector <T>&) const;
bool deleteT (const T&) const;
bool completeT (const T&) const;
bool deleteT (const T&);
bool completeT (const T&);
bool addT (const T&) const;
bool modifyT (const T&) const;
bool modifyT (const T&);
bool logRead (std::vector <std::string>&) const;
bool logCommand (int, char**) const;
int gc () const;
int gc ();
int nextId ();
private:
bool lock (FILE*) const;
bool overwritePending (std::vector <T>&) const;
bool overwritePending (std::vector <T>&);
bool writePending (const T&) const;
bool writeCompleted (const T&) const;
bool readLockedFile (const std::string&, std::vector <std::string>&) const;
@@ -62,6 +63,7 @@ private:
std::string mPendingFile;
std::string mCompletedFile;
std::string mLogFile;
int mId;
};
#endif

View File

@@ -242,7 +242,11 @@ std::string decode (color c)
////////////////////////////////////////////////////////////////////////////////
std::string colorize (color fg, color bg, const std::string& input)
{
return decode (fg) + decode (bg) + input + decode (off);
if (input.length ())
if (fg != nocolor || bg != nocolor)
return decode (fg) + decode (bg) + input + decode (off);
return input;
}
////////////////////////////////////////////////////////////////////////////////

611
src/command.cpp Normal file
View File

@@ -0,0 +1,611 @@
////////////////////////////////////////////////////////////////////////////////
// task - a command line task list manager.
//
// Copyright 2006 - 2008, Paul Beckingham.
// All rights reserved.
//
// 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 of the License, 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
//
////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pwd.h>
#include <time.h>
#include "Config.h"
#include "Date.h"
#include "Table.h"
#include "TDB.h"
#include "T.h"
#include "task.h"
#ifdef HAVE_LIBNCURSES
#include <ncurses.h>
#endif
////////////////////////////////////////////////////////////////////////////////
void handleAdd (const TDB& tdb, T& task, Config& conf)
{
char entryTime[16];
sprintf (entryTime, "%u", (unsigned int) time (NULL));
task.setAttribute ("entry", entryTime);
std::map <std::string, std::string> atts;
task.getAttributes (atts);
foreach (i, atts)
if (i->second == "")
task.removeAttribute (i->first);
// Recurring tasks get a special status.
if (task.getAttribute ("due") != "" &&
task.getAttribute ("recur") != "")
{
task.setStatus (T::recurring);
task.setAttribute ("mask", "");
}
if (task.getDescription () == "")
throw std::string ("Cannot add a blank task.");
if (!tdb.addT (task))
throw std::string ("Could not create new task.");
}
////////////////////////////////////////////////////////////////////////////////
void handleProjects (TDB& tdb, T& task, Config& conf)
{
// Get all the tasks, including deleted ones.
std::vector <T> tasks;
tdb.pendingT (tasks);
// Scan all the tasks for their project name, building a map using project
// names as keys.
std::map <std::string, int> unique;
for (unsigned int i = 0; i < tasks.size (); ++i)
{
T task (tasks[i]);
unique[task.getAttribute ("project")] += 1;
}
if (unique.size ())
{
// Render a list of project names from the map.
Table table;
table.addColumn ("Project");
table.addColumn ("Tasks");
if (conf.get ("color", true))
{
table.setColumnUnderline (0);
table.setColumnUnderline (1);
}
table.setColumnJustification (1, Table::right);
table.setDateFormat (conf.get ("dateformat", "m/d/Y"));
foreach (i, unique)
{
int row = table.addRow ();
table.addCell (row, 0, i->first);
table.addCell (row, 1, i->second);
}
std::cout << optionalBlankLine (conf)
<< table.render ()
<< optionalBlankLine (conf)
<< unique.size ()
<< (unique.size () == 1 ? " project" : " projects")
<< std::endl;
}
else
std::cout << "No projects."
<< std::endl;
}
////////////////////////////////////////////////////////////////////////////////
void handleTags (TDB& tdb, T& task, Config& conf)
{
// Get all the tasks.
std::vector <T> tasks;
tdb.pendingT (tasks);
// Scan all the tasks for their project name, building a map using project
// names as keys.
std::map <std::string, std::string> unique;
for (unsigned int i = 0; i < tasks.size (); ++i)
{
T task (tasks[i]);
std::vector <std::string> tags;
task.getTags (tags);
for (unsigned int t = 0; t < tags.size (); ++t)
unique[tags[t]] = "";
}
// Render a list of tag names from the map.
std::cout << optionalBlankLine (conf);
foreach (i, unique)
std::cout << i->first << std::endl;
if (unique.size ())
std::cout << optionalBlankLine (conf)
<< unique.size ()
<< (unique.size () == 1 ? " tag" : " tags")
<< std::endl;
else
std::cout << "No tags."
<< std::endl;
}
////////////////////////////////////////////////////////////////////////////////
// If a task is deleted, but is still in the pending file, then it may be
// undeleted simply by changing it's status.
void handleUndelete (TDB& tdb, T& task, Config& conf)
{
std::vector <T> all;
tdb.allPendingT (all);
int id = task.getId ();
std::vector <T>::iterator it;
for (it = all.begin (); it != all.end (); ++it)
{
if (it->getId () == id)
{
if (it->getStatus () == T::deleted)
{
if (it->getAttribute ("recur") != "")
{
std::cout << "Task does not support 'undelete' for recurring tasks." << std::endl;
return;
}
T restored (*it);
restored.setStatus (T::pending);
restored.removeAttribute ("end");
tdb.modifyT (restored);
std::cout << "Task " << id << " successfully undeleted." << std::endl;
return;
}
else
{
std::cout << "Task " << id << " is not deleted - therefore cannot undelete." << std::endl;
return;
}
}
}
std::cout << "Task " << id
<< " not found - tasks can only be reliably undeleted if the undelete" << std::endl
<< "command is run immediately after the errant delete command." << std::endl;
}
////////////////////////////////////////////////////////////////////////////////
void handleVersion (Config& conf)
{
// Determine window size, and set table accordingly.
int width = conf.get ("defaultwidth", 80);
#ifdef HAVE_LIBNCURSES
if (conf.get ("curses", true))
{
WINDOW* w = initscr ();
width = w->_maxx + 1;
endwin ();
}
#endif
// Create a table for output.
Table table;
table.setTableWidth (width);
table.setDateFormat (conf.get ("dateformat", "m/d/Y"));
table.addColumn ("Config variable");
table.addColumn ("Value");
if (conf.get ("color", true))
{
table.setColumnUnderline (0);
table.setColumnUnderline (1);
}
table.setColumnWidth (0, Table::minimum);
table.setColumnWidth (1, Table::flexible);
table.setColumnJustification (0, Table::left);
table.setColumnJustification (1, Table::left);
table.sortOn (0, Table::ascendingCharacter);
std::vector <std::string> all;
conf.all (all);
foreach (i, all)
{
std::string value = conf.get (*i);
if (value != "")
{
int row = table.addRow ();
table.addCell (row, 0, *i);
table.addCell (row, 1, value);
}
}
std::cout << "Copyright (C) 2006 - 2008, P. Beckingham."
<< std::endl
<< PACKAGE
<< " "
<< VERSION
<< std::endl
<< std::endl
<< "Task comes with ABSOLUTELY NO WARRANTY; for details read the COPYING file"
<< std::endl
<< "included. This is free software, and you are welcome to redistribute it"
<< std::endl
<< "under certain conditions; again, see the COPYING file for details."
<< std::endl
<< std::endl
<< table.render ()
<< std::endl
<< "See http://www.beckingham.net/task.html for the latest releases and a full tutorial."
<< std::endl
<< std::endl;
// Verify installation. This is mentioned in the documentation as the way to
// ensure everything is properly installed.
if (all.size () == 0)
std::cout << "Configuration error: .taskrc contains no entries"
<< std::endl;
else
{
if (conf.get ("data.location") == "")
std::cout << "Configuration error: data.location not specified in .taskrc "
"file."
<< std::endl;
if (access (expandPath (conf.get ("data.location")).c_str (), X_OK))
std::cout << "Configuration error: data.location contains a directory name"
" that doesn't exist, or is unreadable."
<< std::endl;
}
}
////////////////////////////////////////////////////////////////////////////////
void handleDelete (TDB& tdb, T& task, Config& conf)
{
if (conf.get ("confirmation") != "yes" || confirm ("Permanently delete task?"))
{
std::vector <T> all;
tdb.allPendingT (all);
foreach (t, all)
{
if (t->getId () == task.getId ())
{
// Check for the more complex case of a recurring task. If this is a
// recurring task, get confirmation to delete them all.
std::string parent = t->getAttribute ("parent");
if (parent != "")
{
if (confirm ("This is a recurring task. Do you want to delete all pending recurrences of this same task?"))
{
// Scan all pending tasks for siblings of this task, and the parent
// itself, and delete them.
foreach (sibling, all)
if (sibling->getAttribute ("parent") == parent ||
sibling->getUUID () == parent)
tdb.deleteT (*sibling);
return;
}
else
{
// Update mask in parent.
t->setStatus (T::deleted);
updateRecurrenceMask (tdb, all, *t);
tdb.deleteT (*t);
return;
}
}
else
tdb.deleteT (*t);
break; // No point continuing the loop.
}
}
}
else
std::cout << "Task not deleted." << std::endl;
}
////////////////////////////////////////////////////////////////////////////////
void handleStart (TDB& tdb, T& task, Config& conf)
{
std::vector <T> all;
tdb.pendingT (all);
std::vector <T>::iterator it;
for (it = all.begin (); it != all.end (); ++it)
{
if (it->getId () == task.getId ())
{
T original (*it);
if (original.getAttribute ("start") == "")
{
char startTime[16];
sprintf (startTime, "%u", (unsigned int) time (NULL));
original.setAttribute ("start", startTime);
original.setId (task.getId ());
tdb.modifyT (original);
nag (tdb, task, conf);
return;
}
else
std::cout << "Task " << task.getId () << " already started." << std::endl;
}
}
throw std::string ("Task not found.");
}
////////////////////////////////////////////////////////////////////////////////
void handleDone (TDB& tdb, T& task, Config& conf)
{
if (!tdb.completeT (task))
throw std::string ("Could not mark task as completed.");
// Now update mask in parent.
std::vector <T> all;
tdb.allPendingT (all);
foreach (t, all)
{
if (t->getId () == task.getId ())
{
t->setStatus (T::completed);
updateRecurrenceMask (tdb, all, *t);
break;
}
}
nag (tdb, task, conf);
}
////////////////////////////////////////////////////////////////////////////////
void handleExport (TDB& tdb, T& task, Config& conf)
{
// Use the description as a file name, then clobber the description so the
// file name isn't used for filtering.
std::string file = trim (task.getDescription ());
task.setDescription ("");
if (file.length () > 0)
{
std::ofstream out (file.c_str ());
if (out.good ())
{
out << "'id',"
<< "'status',"
<< "'tags',"
<< "'entry',"
<< "'start',"
<< "'due',"
<< "'end',"
<< "'project',"
<< "'priority',"
<< "'fg',"
<< "'bg',"
<< "'description'"
<< "\n";
std::vector <T> all;
tdb.allT (all);
filter (all, task);
foreach (t, all)
{
out << t->composeCSV ().c_str ();
}
out.close ();
}
else
throw std::string ("Could not write to export file.");
}
else
throw std::string ("You must specify a file to write to.");
}
////////////////////////////////////////////////////////////////////////////////
void handleModify (TDB& tdb, T& task, Config& conf)
{
std::vector <T> all;
tdb.pendingT (all);
std::vector <T>::iterator it;
for (it = all.begin (); it != all.end (); ++it)
{
if (it->getId () == task.getId ())
{
T original (*it);
// A non-zero value forces a file write.
int changes = 0;
// Apply a new description, if any.
if (task.getDescription () != "")
{
original.setDescription (task.getDescription ());
++changes;
}
// Apply or remove tags, if any.
std::vector <std::string> tags;
task.getTags (tags);
for (unsigned int i = 0; i < tags.size (); ++i)
{
if (tags[i][0] == '+')
original.addTag (tags[i].substr (1, std::string::npos));
else
original.addTag (tags[i]);
++changes;
}
task.getRemoveTags (tags);
for (unsigned int i = 0; i < tags.size (); ++i)
{
if (tags[i][0] == '-')
original.removeTag (tags[i].substr (1, std::string::npos));
else
original.removeTag (tags[i]);
++changes;
}
// Apply or remove attributes, if any.
std::map <std::string, std::string> attributes;
task.getAttributes (attributes);
foreach (i, attributes)
{
if (i->second == "")
original.removeAttribute (i->first);
else
original.setAttribute (i->first, i->second);
++changes;
}
std::string from;
std::string to;
task.getSubstitution (from, to);
if (from != "")
{
std::string description = original.getDescription ();
size_t pattern = description.find (from);
if (pattern != std::string::npos)
{
description = description.substr (0, pattern) +
to +
description.substr (pattern + from.length (), std::string::npos);
original.setDescription (description);
++changes;
}
}
if (changes)
{
original.setId (task.getId ());
tdb.modifyT (original);
}
return;
}
}
throw std::string ("Task not found.");
}
////////////////////////////////////////////////////////////////////////////////
void handleColor (Config& conf)
{
if (conf.get ("color", true))
{
std::cout << optionalBlankLine (conf) << "Foreground" << std::endl
<< " "
<< Text::colorize (Text::bold, Text::nocolor, "bold") << " "
<< Text::colorize (Text::underline, Text::nocolor, "underline") << " "
<< Text::colorize (Text::bold_underline, Text::nocolor, "bold_underline") << std::endl
<< " " << Text::colorize (Text::black, Text::nocolor, "black") << " "
<< Text::colorize (Text::bold_black, Text::nocolor, "bold_black") << " "
<< Text::colorize (Text::underline_black, Text::nocolor, "underline_black") << " "
<< Text::colorize (Text::bold_underline_black, Text::nocolor, "bold_underline_black") << std::endl
<< " " << Text::colorize (Text::red, Text::nocolor, "red") << " "
<< Text::colorize (Text::bold_red, Text::nocolor, "bold_red") << " "
<< Text::colorize (Text::underline_red, Text::nocolor, "underline_red") << " "
<< Text::colorize (Text::bold_underline_red, Text::nocolor, "bold_underline_red") << std::endl
<< " " << Text::colorize (Text::green, Text::nocolor, "green") << " "
<< Text::colorize (Text::bold_green, Text::nocolor, "bold_green") << " "
<< Text::colorize (Text::underline_green, Text::nocolor, "underline_green") << " "
<< Text::colorize (Text::bold_underline_green, Text::nocolor, "bold_underline_green") << std::endl
<< " " << Text::colorize (Text::yellow, Text::nocolor, "yellow") << " "
<< Text::colorize (Text::bold_yellow, Text::nocolor, "bold_yellow") << " "
<< Text::colorize (Text::underline_yellow, Text::nocolor, "underline_yellow") << " "
<< Text::colorize (Text::bold_underline_yellow, Text::nocolor, "bold_underline_yellow") << std::endl
<< " " << Text::colorize (Text::blue, Text::nocolor, "blue") << " "
<< Text::colorize (Text::bold_blue, Text::nocolor, "bold_blue") << " "
<< Text::colorize (Text::underline_blue, Text::nocolor, "underline_blue") << " "
<< Text::colorize (Text::bold_underline_blue, Text::nocolor, "bold_underline_blue") << std::endl
<< " " << Text::colorize (Text::magenta, Text::nocolor, "magenta") << " "
<< Text::colorize (Text::bold_magenta, Text::nocolor, "bold_magenta") << " "
<< Text::colorize (Text::underline_magenta, Text::nocolor, "underline_magenta") << " "
<< Text::colorize (Text::bold_underline_magenta, Text::nocolor, "bold_underline_magenta") << std::endl
<< " " << Text::colorize (Text::cyan, Text::nocolor, "cyan") << " "
<< Text::colorize (Text::bold_cyan, Text::nocolor, "bold_cyan") << " "
<< Text::colorize (Text::underline_cyan, Text::nocolor, "underline_cyan") << " "
<< Text::colorize (Text::bold_underline_cyan, Text::nocolor, "bold_underline_cyan") << std::endl
<< " " << Text::colorize (Text::white, Text::nocolor, "white") << " "
<< Text::colorize (Text::bold_white, Text::nocolor, "bold_white") << " "
<< Text::colorize (Text::underline_white, Text::nocolor, "underline_white") << " "
<< Text::colorize (Text::bold_underline_white, Text::nocolor, "bold_underline_white") << std::endl
<< std::endl << "Background" << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_black, "on_black") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_black, "on_bright_black") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_red, "on_red") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_red, "on_bright_red") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_green, "on_green") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_green, "on_bright_green") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_yellow, "on_yellow") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_yellow, "on_bright_yellow") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_blue, "on_blue") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_blue, "on_bright_blue") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_magenta, "on_magenta") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_magenta, "on_bright_magenta") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_cyan, "on_cyan") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_cyan, "on_bright_cyan") << std::endl
<< " " << Text::colorize (Text::nocolor, Text::on_white, "on_white") << " "
<< Text::colorize (Text::nocolor, Text::on_bright_white, "on_bright_white") << std::endl
<< optionalBlankLine (conf);
}
else
{
std::cout << "Color is currently turned off in your .taskrc file." << std::endl;
}
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -107,6 +107,10 @@ static const char* attributes[] =
"entry",
"start",
"end",
"recur",
"until",
"mask",
"imask",
"",
};
@@ -122,6 +126,7 @@ static const char* commands[] =
"export",
"help",
"history",
"ghistory",
"info",
"list",
"long",
@@ -135,6 +140,7 @@ static const char* commands[] =
"stats",
"summary",
"tags",
"undelete",
"usage",
"version",
"",
@@ -152,7 +158,8 @@ void guess (const std::string& type, const char** list, std::string& candidate)
candidate = matches[0];
else if (0 == matches.size ())
throw std::string ("Unrecognized ") + type + " '" + candidate + "'";
// throw std::string ("Unrecognized ") + type + " '" + candidate + "'";
candidate = "";
else
{
@@ -200,7 +207,7 @@ bool validDate (std::string& date, Config& conf)
}
////////////////////////////////////////////////////////////////////////////////
static bool validPriority (std::string& input)
static bool validPriority (const std::string& input)
{
if (input != "H" &&
input != "M" &&
@@ -214,32 +221,43 @@ static bool validPriority (std::string& input)
}
////////////////////////////////////////////////////////////////////////////////
static bool validAttribute (std::string& name, std::string& value, Config& conf)
static bool validAttribute (
std::string& name,
std::string& value,
Config& conf)
{
guess ("attribute", attributes, name);
if ((name == "fg" || name == "bg") && value != "")
guess ("color", colors, value);
else if (name == "due" && value != "")
validDate (value, conf);
else if (name == "priority")
if (name != "")
{
for (std::string::iterator i = value.begin (); i != value.end (); ++i)
*i = ::toupper (*i);
if ((name == "fg" || name == "bg") && value != "")
guess ("color", colors, value);
return validPriority (value);
else if (name == "due" && value != "")
validDate (value, conf);
else if (name == "until" && value != "")
validDate (value, conf);
else if (name == "priority")
{
value = upperCase (value);
return validPriority (value);
}
// Some attributes are intended to be private.
else if (name == "entry" ||
name == "start" ||
name == "end" ||
name == "mask" ||
name == "imask")
throw std::string ("\"") +
name +
"\" is not an attribute you may modify directly.";
return true;
}
else if (name == "entry" ||
name == "start" ||
name == "end")
throw std::string ("\"") +
name +
"\" is not an attribute you may modify directly.";
return true;
return false;
}
////////////////////////////////////////////////////////////////////////////////
@@ -253,7 +271,7 @@ static bool validId (const std::string& input)
}
////////////////////////////////////////////////////////////////////////////////
static bool validTag (std::string& input)
static bool validTag (const std::string& input)
{
if ((input[0] == '-' || input[0] == '+') &&
input.length () > 1)
@@ -274,7 +292,12 @@ static bool validDescription (const std::string& input)
////////////////////////////////////////////////////////////////////////////////
static bool validCommand (std::string& input)
{
guess ("command", commands, input);
std::string copy = input;
guess ("command", commands, copy);
if (copy == "")
return false;
input = copy;
return true;
}
@@ -309,6 +332,12 @@ static bool validSubstitution (
return false;
}
////////////////////////////////////////////////////////////////////////////////
bool validDuration (std::string& input)
{
return (convertDuration (input) != 0) ? true : false;
}
////////////////////////////////////////////////////////////////////////////////
// Token Distinguishing characteristic
// ------- -----------------------------
@@ -331,56 +360,79 @@ void parse (
for (size_t i = 0; i < args.size (); ++i)
{
std::string arg (args[i]);
size_t colon; // Pointer to colon in argument.
std::string from;
std::string to;
// An id is the first argument found that contains all digits.
if (command != "add" && // "add" doesn't require an ID
task.getId () == 0 &&
validId (arg))
task.setId (::atoi (arg.c_str ()));
// Tags begin with + or - and contain arbitrary text.
else if (validTag (arg))
// Ignore any argument that is "rc:...", because that is the command line
// specified rc file.
if (arg.substr (0, 3) != "rc:")
{
if (arg[0] == '+')
task.addTag (arg.substr (1, std::string::npos));
else if (arg[0] == '-')
task.addRemoveTag (arg.substr (1, std::string::npos));
}
size_t colon; // Pointer to colon in argument.
std::string from;
std::string to;
// Attributes contain a constant string followed by a colon, followed by a
// value.
else if ((colon = arg.find (":")) != std::string::npos)
{
std::string name = arg.substr (0, colon);
std::string value = arg.substr (colon + 1, std::string::npos);
// An id is the first argument found that contains all digits.
if (command != "add" && // "add" doesn't require an ID
task.getId () == 0 &&
validId (arg))
task.setId (::atoi (arg.c_str ()));
if (validAttribute (name, value, conf))
task.setAttribute (name, value);
}
// Tags begin with + or - and contain arbitrary text.
else if (validTag (arg))
{
if (arg[0] == '+')
task.addTag (arg.substr (1, std::string::npos));
else if (arg[0] == '-')
task.addRemoveTag (arg.substr (1, std::string::npos));
}
// Substitution of description text.
else if (validSubstitution (arg, from, to))
{
task.setSubstitution (from, to);
}
// Attributes contain a constant string followed by a colon, followed by a
// value.
else if ((colon = arg.find (":")) != std::string::npos)
{
std::string name = arg.substr (0, colon);
std::string value = arg.substr (colon + 1, std::string::npos);
// Command.
else if (command == "")
{
if (!isCommand (arg))
if (validAttribute (name, value, conf))
{
if (name != "recur" || validDuration (value))
task.setAttribute (name, value);
}
// If it is not a valid attribute, then allow the argument as part of
// the description.
else
descCandidate += arg;
}
// Substitution of description text.
else if (validSubstitution (arg, from, to))
{
task.setSubstitution (from, to);
}
// Command.
else if (command == "")
{
if (isCommand (arg) && validCommand (arg))
command = arg;
else
descCandidate += arg;
// throw std::string ("'") + arg + "' is not a valid command.";
}
// Anything else is just considered description.
else
descCandidate += std::string (arg) + " ";
else if (validCommand (arg))
command = arg;
}
// Anything else is just considered description.
else
descCandidate += std::string (arg) + " ";
}
if (task.getAttribute ("recur") != "" &&
task.getAttribute ("due") == "")
throw std::string ("You cannot specify a recurring task without a due date.");
if (task.getAttribute ("until") != "" &&
task.getAttribute ("recur") == "")
throw std::string ("You cannot specify an until date for a non-recurring task.");
if (validDescription (descCandidate))
task.setDescription (descCandidate);
}

2639
src/report.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -83,7 +83,7 @@ void initializeColorRules (Config& conf)
void autoColorize (T& task, Text::color& fg, Text::color& bg)
{
// Note: fg, bg already contain colors specifically assigned via command.
// TODO These rules form a hierarchy - the last rule is king.
// Note: These rules form a hierarchy - the last rule is king.
// Colorization of the tagged.
if (gsFg["color.tagged"] != Text::nocolor ||

File diff suppressed because it is too large Load Diff

View File

@@ -31,6 +31,7 @@
#include <sys/types.h>
#include "Config.h"
#include "Table.h"
#include "Date.h"
#include "color.h"
#include "TDB.h"
#include "T.h"
@@ -57,33 +58,45 @@ void parse (std::vector <std::string>&, std::string&, T&, Config&);
bool validDate (std::string&, Config&);
// task.cpp
void handleAdd (const TDB&, T&, Config&);
void handleProjects (const TDB&, T&, Config&);
void handleTags (const TDB&, T&, Config&);
void handleList (const TDB&, T&, Config&);
void handleInfo (const TDB&, T&, Config&);
void handleLongList (const TDB&, T&, Config&);
void handleSmallList (const TDB&, T&, Config&);
void handleCompleted (const TDB&, T&, Config&);
void handleReportSummary (const TDB&, T&, Config&);
void handleReportNext (const TDB&, T&, Config&);
void handleReportHistory (const TDB&, T&, Config&);
void handleReportUsage (const TDB&, T&, Config&);
void handleReportCalendar (const TDB&, T&, Config&);
void handleReportActive (const TDB&, T&, Config&);
void handleReportOverdue (const TDB&, T&, Config&);
void handleReportStats (const TDB&, T&, Config&);
void handleReportOldest (const TDB&, T&, Config&);
void handleReportNewest (const TDB&, T&, Config&);
void handleVersion (Config&);
void handleExport (const TDB&, T&, Config&);
void handleDelete (const TDB&, T&, Config&);
void handleStart (const TDB&, T&, Config&);
void handleDone (const TDB&, T&, Config&);
void handleModify (const TDB&, T&, Config&);
void handleColor (Config&);
void gatherNextTasks (const TDB&, T&, Config&, std::vector <T>&, std::vector <int>&);
void nag (const TDB&, T&, Config&);
void nag (TDB&, T&, Config&);
int getDueState (const std::string&);
void handleRecurrence (TDB&, std::vector <T>&);
bool generateDueDates (T&, std::vector <Date>&);
Date getNextRecurrence (Date&, std::string&);
void updateRecurrenceMask (TDB&, std::vector <T>&, T&);
// command.cpp
void handleAdd (const TDB&, T&, Config&);
void handleProjects (TDB&, T&, Config&);
void handleTags (TDB&, T&, Config&);
void handleUndelete (TDB&, T&, Config&);
void handleVersion (Config&);
void handleExport (TDB&, T&, Config&);
void handleDelete (TDB&, T&, Config&);
void handleStart (TDB&, T&, Config&);
void handleDone (TDB&, T&, Config&);
void handleModify (TDB&, T&, Config&);
void handleColor (Config&);
// report.cpp
void filter (std::vector<T>&, T&);
void handleList (TDB&, T&, Config&);
void handleInfo (TDB&, T&, Config&);
void handleLongList (TDB&, T&, Config&);
void handleSmallList (TDB&, T&, Config&);
void handleCompleted (TDB&, T&, Config&);
void handleReportSummary (TDB&, T&, Config&);
void handleReportNext (TDB&, T&, Config&);
void handleReportHistory (TDB&, T&, Config&);
void handleReportGHistory (TDB&, T&, Config&);
void handleReportUsage (const TDB&, T&, Config&);
void handleReportCalendar (TDB&, T&, Config&);
void handleReportActive (TDB&, T&, Config&);
void handleReportOverdue (TDB&, T&, Config&);
void handleReportStats (TDB&, T&, Config&);
void handleReportOldest (TDB&, T&, Config&);
void handleReportNewest (TDB&, T&, Config&);
// util.cpp
bool confirm (const std::string&);
@@ -98,12 +111,15 @@ void split (std::vector<std::string>&, const std::string&, const std::string&);
void join (std::string&, const std::string&, const std::vector<std::string>&);
std::string commify (const std::string&);
std::string lowerCase (const std::string&);
std::string upperCase (const std::string&);
void delay (float);
int autoComplete (const std::string&, const std::vector<std::string>&, std::vector<std::string>&);
void formatTimeDeltaDays (std::string&, time_t);
std::string formatSeconds (time_t);
const std::string uuid ();
const char* optionalBlankLine (Config&);
int convertDuration (std::string&);
std::string expandPath (const std::string&);
// rules.cpp
void initializeColorRules (Config&);

View File

@@ -1,6 +1,7 @@
t.t
tdb.t
date.t
duration.t
pending.data
completed.data

View File

@@ -1,4 +1,4 @@
PROJECT = t.t tdb.t date.t
PROJECT = t.t tdb.t date.t duration.t
CFLAGS = -I. -I.. -Wall -pedantic -ggdb3 -fno-rtti
LFLAGS = -L/usr/local/lib
OBJECTS = ../TDB.o ../T.o ../parse.o ../text.o ../Date.o ../util.o ../Config.o
@@ -26,3 +26,6 @@ tdb.t: tdb.t.o $(OBJECTS) test.o
date.t: date.t.o $(OBJECTS) test.o
g++ date.t.o $(OBJECTS) test.o $(LFLAGS) -o date.t
duration.t: duration.t.o $(OBJECTS) test.o
g++ duration.t.o $(OBJECTS) test.o $(LFLAGS) -o duration.t

View File

@@ -9,104 +9,217 @@
////////////////////////////////////////////////////////////////////////////////
int main (int argc, char** argv)
{
plan (63);
plan (100);
Date now;
Date yesterday;
yesterday -= 1;
try
{
Date now;
Date yesterday;
yesterday -= 1;
ok (yesterday <= now, "yesterday <= now");
ok (yesterday < now, "yesterday < now");
notok (yesterday == now, "!(yesterday == now)");
ok (yesterday != now, "yesterday != now");
ok (now >= yesterday, "now >= yesterday");
ok (now > yesterday, "now > yesterday");
ok (yesterday <= now, "yesterday <= now");
ok (yesterday < now, "yesterday < now");
notok (yesterday == now, "!(yesterday == now)");
ok (yesterday != now, "yesterday != now");
ok (now >= yesterday, "now >= yesterday");
ok (now > yesterday, "now > yesterday");
ok (Date::valid (2, 29, 2008), "valid: 2/29/2008");
notok (Date::valid (2, 29, 2007), "invalid: 2/29/2007");
// Loose comparisons.
Date left ("7/4/2008");
Date comp1 ("7/4/2008");
ok (left.sameDay (comp1), "7/4/2008 is on the same day as 7/4/2008");
ok (left.sameMonth (comp1), "7/4/2008 is in the same month as 7/4/2008");
ok (left.sameYear (comp1), "7/4/2008 is in the same year as 7/4/2008");
ok (Date::leapYear (2008), "2008 is a leap year");
notok (Date::leapYear (2007), "2007 is not a leap year");
ok (Date::leapYear (2000), "2000 is a leap year");
ok (Date::leapYear (1900), "1900 is a leap year");
Date comp2 ("7/5/2008");
notok (left.sameDay (comp2), "7/4/2008 is not on the same day as 7/5/2008");
ok (left.sameMonth (comp2), "7/4/2008 is in the same month as 7/5/2008");
ok (left.sameYear (comp2), "7/4/2008 is in the same year as 7/5/2008");
is (Date::daysInMonth (2, 2008), 29, "29 days in February 2008");
is (Date::daysInMonth (2, 2007), 28, "28 days in February 2007");
Date comp3 ("8/4/2008");
notok (left.sameDay (comp3), "7/4/2008 is not on the same day as 8/4/2008");
notok (left.sameMonth (comp3), "7/4/2008 is not in the same month as 8/4/2008");
ok (left.sameYear (comp3), "7/4/2008 is in the same year as 8/4/2008");
is (Date::monthName (1), "January", "1 = January");
is (Date::monthName (2), "February", "2 = February");
is (Date::monthName (3), "March", "3 = March");
is (Date::monthName (4), "April", "4 = April");
is (Date::monthName (5), "May", "5 = May");
is (Date::monthName (6), "June", "6 = June");
is (Date::monthName (7), "July", "7 = July");
is (Date::monthName (8), "August", "8 = August");
is (Date::monthName (9), "September", "9 = September");
is (Date::monthName (10), "October", "10 = October");
is (Date::monthName (11), "November", "11 = November");
is (Date::monthName (12), "December", "12 = December");
Date comp4 ("7/4/2009");
notok (left.sameDay (comp4), "7/4/2008 is not on the same day as 7/4/2009");
notok (left.sameMonth (comp4), "7/4/2008 is not in the same month as 7/4/2009");
notok (left.sameYear (comp4), "7/4/2008 is not in the same year as 7/4/2009");
is (Date::dayName (0), "Sunday", "0 == Sunday");
is (Date::dayName (1), "Monday", "1 == Monday");
is (Date::dayName (2), "Tuesday", "2 == Tuesday");
is (Date::dayName (3), "Wednesday", "3 == Wednesday");
is (Date::dayName (4), "Thursday", "4 == Thursday");
is (Date::dayName (5), "Friday", "5 == Friday");
is (Date::dayName (6), "Saturday", "6 == Saturday");
// Validity.
ok (Date::valid (2, 29, 2008), "valid: 2/29/2008");
notok (Date::valid (2, 29, 2007), "invalid: 2/29/2007");
Date happyNewYear (1, 1, 2008);
is (happyNewYear.dayOfWeek (), 2, "1/1/2008 == Tuesday");
is (happyNewYear.month (), 1, "1/1/2008 == January");
is (happyNewYear.day (), 1, "1/1/2008 == 1");
is (happyNewYear.year (), 2008, "1/1/2008 == 2008");
// Leap year.
ok (Date::leapYear (2008), "2008 is a leap year");
notok (Date::leapYear (2007), "2007 is not a leap year");
ok (Date::leapYear (2000), "2000 is a leap year");
ok (Date::leapYear (1900), "1900 is a leap year");
is (now - yesterday, 1, "today - yesterday == 1");
// Days in month.
is (Date::daysInMonth (2, 2008), 29, "29 days in February 2008");
is (Date::daysInMonth (2, 2007), 28, "28 days in February 2007");
is (happyNewYear.toString (), "1/1/2008", "toString 1/1/2008");
// Names.
is (Date::monthName (1), "January", "1 = January");
is (Date::monthName (2), "February", "2 = February");
is (Date::monthName (3), "March", "3 = March");
is (Date::monthName (4), "April", "4 = April");
is (Date::monthName (5), "May", "5 = May");
is (Date::monthName (6), "June", "6 = June");
is (Date::monthName (7), "July", "7 = July");
is (Date::monthName (8), "August", "8 = August");
is (Date::monthName (9), "September", "9 = September");
is (Date::monthName (10), "October", "10 = October");
is (Date::monthName (11), "November", "11 = November");
is (Date::monthName (12), "December", "12 = December");
int m, d, y;
happyNewYear.toMDY (m, d, y);
is (m, 1, "1/1/2008 == January");
is (d, 1, "1/1/2008 == 1");
is (y, 2008, "1/1/2008 == 2008");
is (Date::dayName (0), "Sunday", "0 == Sunday");
is (Date::dayName (1), "Monday", "1 == Monday");
is (Date::dayName (2), "Tuesday", "2 == Tuesday");
is (Date::dayName (3), "Wednesday", "3 == Wednesday");
is (Date::dayName (4), "Thursday", "4 == Thursday");
is (Date::dayName (5), "Friday", "5 == Friday");
is (Date::dayName (6), "Saturday", "6 == Saturday");
Date epoch (9, 8, 2001);
ok ((int)epoch.toEpoch () < 1000000000, "9/8/2001 < 1,000,000,000");
epoch += 86400;
ok ((int)epoch.toEpoch () > 1000000000, "9/9/2001 > 1,000,000,000");
is (Date::dayOfWeek ("SUNDAY"), 0, "SUNDAY == 0");
is (Date::dayOfWeek ("sunday"), 0, "sunday == 0");
is (Date::dayOfWeek ("Sunday"), 0, "Sunday == 0");
is (Date::dayOfWeek ("Monday"), 1, "Monday == 1");
is (Date::dayOfWeek ("Tuesday"), 2, "Tuesday == 2");
is (Date::dayOfWeek ("Wednesday"), 3, "Wednesday == 3");
is (Date::dayOfWeek ("Thursday"), 4, "Thursday == 4");
is (Date::dayOfWeek ("Friday"), 5, "Friday == 5");
is (Date::dayOfWeek ("Saturday"), 6, "Saturday == 6");
Date fromEpoch (epoch.toEpoch ());
is (fromEpoch.toString (), epoch.toString (), "ctor (time_t)");
Date happyNewYear (1, 1, 2008);
is (happyNewYear.dayOfWeek (), 2, "1/1/2008 == Tuesday");
is (happyNewYear.month (), 1, "1/1/2008 == January");
is (happyNewYear.day (), 1, "1/1/2008 == 1");
is (happyNewYear.year (), 2008, "1/1/2008 == 2008");
Date fromString1 ("1/1/2008");
is (fromString1.month (), 1, "ctor (std::string) -> m");
is (fromString1.day (), 1, "ctor (std::string) -> d");
is (fromString1.year (), 2008, "ctor (std::string) -> y");
is (now - yesterday, 1, "today - yesterday == 1");
Date fromString2 ("1/1/2008", "m/d/Y");
is (fromString2.month (), 1, "ctor (std::string) -> m");
is (fromString2.day (), 1, "ctor (std::string) -> d");
is (fromString2.year (), 2008, "ctor (std::string) -> y");
is (happyNewYear.toString (), "1/1/2008", "toString 1/1/2008");
Date fromString3 ("20080101", "YMD");
is (fromString3.month (), 1, "ctor (std::string) -> m");
is (fromString3.day (), 1, "ctor (std::string) -> d");
is (fromString3.year (), 2008, "ctor (std::string) -> y");
int m, d, y;
happyNewYear.toMDY (m, d, y);
is (m, 1, "1/1/2008 == January");
is (d, 1, "1/1/2008 == 1");
is (y, 2008, "1/1/2008 == 2008");
Date fromString4 ("12/31/2007");
is (fromString4.month (), 12, "ctor (std::string) -> m");
is (fromString4.day (), 31, "ctor (std::string) -> d");
is (fromString4.year (), 2007, "ctor (std::string) -> y");
Date epoch (9, 8, 2001);
ok ((int)epoch.toEpoch () < 1000000000, "9/8/2001 < 1,000,000,000");
epoch += 86400;
ok ((int)epoch.toEpoch () > 1000000000, "9/9/2001 > 1,000,000,000");
Date fromString5 ("12/31/2007", "m/d/Y");
is (fromString5.month (), 12, "ctor (std::string) -> m");
is (fromString5.day (), 31, "ctor (std::string) -> d");
is (fromString5.year (), 2007, "ctor (std::string) -> y");
Date fromEpoch (epoch.toEpoch ());
is (fromEpoch.toString (), epoch.toString (), "ctor (time_t)");
// Date parsing.
Date fromString1 ("1/1/2008");
is (fromString1.month (), 1, "ctor (std::string) -> m");
is (fromString1.day (), 1, "ctor (std::string) -> d");
is (fromString1.year (), 2008, "ctor (std::string) -> y");
Date fromString2 ("1/1/2008", "m/d/Y");
is (fromString2.month (), 1, "ctor (std::string) -> m");
is (fromString2.day (), 1, "ctor (std::string) -> d");
is (fromString2.year (), 2008, "ctor (std::string) -> y");
Date fromString3 ("20080101", "YMD");
is (fromString3.month (), 1, "ctor (std::string) -> m");
is (fromString3.day (), 1, "ctor (std::string) -> d");
is (fromString3.year (), 2008, "ctor (std::string) -> y");
Date fromString4 ("12/31/2007");
is (fromString4.month (), 12, "ctor (std::string) -> m");
is (fromString4.day (), 31, "ctor (std::string) -> d");
is (fromString4.year (), 2007, "ctor (std::string) -> y");
Date fromString5 ("12/31/2007", "m/d/Y");
is (fromString5.month (), 12, "ctor (std::string) -> m");
is (fromString5.day (), 31, "ctor (std::string) -> d");
is (fromString5.year (), 2007, "ctor (std::string) -> y");
Date fromString6 ("20071231", "YMD");
is (fromString6.month (), 12, "ctor (std::string) -> m");
is (fromString6.day (), 31, "ctor (std::string) -> d");
is (fromString6.year (), 2007, "ctor (std::string) -> y");
Date fromString7 ("01/01/2008", "m/d/Y");
is (fromString7.month (), 1, "ctor (std::string) -> m");
is (fromString7.day (), 1, "ctor (std::string) -> d");
is (fromString7.year (), 2008, "ctor (std::string) -> y");
// Relative dates.
Date r1 ("today");
ok (r1.sameDay (now), "today = now");
Date r2 ("tomorrow");
ok (r2.sameDay (now + 86400), "tomorrow = now + 1d");
Date r3 ("yesterday");
ok (r3.sameDay (now - 86400), "yesterday = now - 1d");
Date r4 ("sunday");
if (now.dayOfWeek () >= 0)
ok (r4.sameDay (now + (0 - now.dayOfWeek () + 7) * 86400), "next sunday");
else
ok (r4.sameDay (now + (0 - now.dayOfWeek ()) * 86400), "next sunday");;
Date r5 ("monday");
if (now.dayOfWeek () >= 1)
ok (r5.sameDay (now + (1 - now.dayOfWeek () + 7) * 86400), "next monday");
else
ok (r5.sameDay (now + (1 - now.dayOfWeek ()) * 86400), "next monday");;
Date r6 ("tuesday");
if (now.dayOfWeek () >= 2)
ok (r6.sameDay (now + (2 - now.dayOfWeek () + 7) * 86400), "next tuesday");
else
ok (r6.sameDay (now + (2 - now.dayOfWeek ()) * 86400), "next tuesday");;
Date r7 ("wednesday");
if (now.dayOfWeek () >= 3)
ok (r7.sameDay (now + (3 - now.dayOfWeek () + 7) * 86400), "next wednesday");
else
ok (r7.sameDay (now + (3 - now.dayOfWeek ()) * 86400), "next wednesday");;
Date r8 ("thursday");
if (now.dayOfWeek () >= 4)
ok (r8.sameDay (now + (4 - now.dayOfWeek () + 7) * 86400), "next thursday");
else
ok (r8.sameDay (now + (4 - now.dayOfWeek ()) * 86400), "next thursday");;
Date r9 ("friday");
if (now.dayOfWeek () >= 5)
ok (r9.sameDay (now + (5 - now.dayOfWeek () + 7) * 86400), "next friday");
else
ok (r9.sameDay (now + (5 - now.dayOfWeek ()) * 86400), "next friday");;
Date r10 ("saturday");
if (now.dayOfWeek () >= 6)
ok (r10.sameDay (now + (6 - now.dayOfWeek () + 7) * 86400), "next saturday");
else
ok (r10.sameDay (now + (6 - now.dayOfWeek ()) * 86400), "next saturday");;
Date r11 ("eow");
ok (r11 < now + (8 * 86400), "eow < 7 days away");
Date r12 ("eom");
ok (r12.sameMonth (now), "eom in same month as now");
Date r13 ("eoy");
ok (r13.sameYear (now), "eoy in same year as now");
}
catch (std::string& e)
{
fail ("Exception thrown.");
diag (e);
}
Date fromString6 ("20071231", "YMD");
is (fromString6.month (), 12, "ctor (std::string) -> m");
is (fromString6.day (), 31, "ctor (std::string) -> d");
is (fromString6.year (), 2007, "ctor (std::string) -> y");
return 0;
}

44
src/tests/duration.t.cpp Normal file
View File

@@ -0,0 +1,44 @@
////////////////////////////////////////////////////////////////////////////////
// Copyright 2005 - 2008, Paul Beckingham. All rights reserved.
//
////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <Date.h>
#include <test.h>
#include <../task.h>
////////////////////////////////////////////////////////////////////////////////
// daily, day, Nd
// weekly, Nw, sennight, biweekly, fortnight
// monthly, bimonthly, Nm, semimonthly
// 1st 2nd 3rd 4th .. 31st
// quarterly, Nq
// biannual, biyearly, annual, semiannual, yearly, Ny
int main (int argc, char** argv)
{
plan (17);
std::string d;
d = "daily"; is (convertDuration (d), 1, "duration daily = 1");
d = "day"; is (convertDuration (d), 1, "duration day = 1");
d = "0d"; is (convertDuration (d), 0, "duration 0d = 0");
d = "1d"; is (convertDuration (d), 1, "duration 1d = 1");
d = "7d"; is (convertDuration (d), 7, "duration 7d = 7");
d = "10d"; is (convertDuration (d), 10, "duration 10d = 10");
d = "100d"; is (convertDuration (d), 100, "duration 100d = 100");
d = "weekly"; is (convertDuration (d), 7, "duration weekly = 7");
d = "sennight"; is (convertDuration (d), 7, "duration sennight = 7");
d = "biweekly"; is (convertDuration (d), 14, "duration biweekly = 14");
d = "fortnight"; is (convertDuration (d), 14, "duration fortnight = 14");
d = "week"; is (convertDuration (d), 7, "duration week = 7");
d = "0w"; is (convertDuration (d), 0, "duration 0w = 0");
d = "1w"; is (convertDuration (d), 7, "duration 1w = 7");
d = "7w"; is (convertDuration (d), 49, "duration 7w = 49");
d = "10w"; is (convertDuration (d), 70, "duration 10w = 70");
d = "100w"; is (convertDuration (d), 700, "duration 100w = 700");
return 0;
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -31,7 +31,7 @@
////////////////////////////////////////////////////////////////////////////////
int main (int argc, char** argv)
{
plan (4);
plan (5);
T t;
std::string s = t.compose ();
@@ -48,6 +48,11 @@ int main (int argc, char** argv)
is (s[37], 'X', "T::setStatus (deleted)");
diag (s);
t.setStatus (T::recurring);
s = t.compose ();
is (s[37], 'r', "T::setStatus (recurring)");
diag (s);
// Round trip test.
std::string sample = "00000000-0000-0000-0000-000000000000 - [] [] Sample";
T t2;

View File

@@ -285,6 +285,17 @@ std::string lowerCase (const std::string& input)
return output;
}
////////////////////////////////////////////////////////////////////////////////
std::string upperCase (const std::string& input)
{
std::string output = input;
for (int i = 0; i < (int) input.length (); ++i)
if (::isupper (input[i]))
output[i] = ::toupper (input[i]);
return output;
}
////////////////////////////////////////////////////////////////////////////////
const char* optionalBlankLine (Config& conf)
{

View File

@@ -32,6 +32,8 @@
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <pwd.h>
#include "Date.h"
#include "Table.h"
#include "task.h"
#include "../auto.h"
@@ -236,3 +238,96 @@ const std::string uuid ()
#endif
////////////////////////////////////////////////////////////////////////////////
// Recognize the following constructs, and return the number of days represented
int convertDuration (std::string& input)
{
input = lowerCase (input);
Date today;
std::vector <std::string> supported;
supported.push_back ("daily");
supported.push_back ("day");
supported.push_back ("weekly");
supported.push_back ("sennight");
supported.push_back ("biweekly");
supported.push_back ("fortnight");
supported.push_back ("monthly");
supported.push_back ("bimonthly");
supported.push_back ("quarterly");
supported.push_back ("biannual");
supported.push_back ("biyearly");
supported.push_back ("annual");
supported.push_back ("semiannual");
supported.push_back ("yearly");
std::vector <std::string> matches;
if (autoComplete (input, supported, matches) == 1)
{
std::string found = matches[0];
if (found == "daily" || found == "day") return 1;
else if (found == "weekly" || found == "sennight") return 7;
else if (found == "biweekly" || found == "fortnight") return 14;
else if (found == "monthly") return 30;
else if (found == "bimonthly") return 61;
else if (found == "quarterly") return 91;
else if (found == "semiannual") return 183;
else if (found == "yearly" || found == "annual") return 365;
else if (found == "biannual" || found == "biyearly") return 730;
}
// Support \d+ d|w|m|q|y
else
{
// Verify all digits followed by d, w, m, q, or y.
unsigned int length = input.length ();
for (unsigned int i = 0; i < length; ++i)
{
if (! isdigit (input[i]) &&
i == length - 1)
{
int number = ::atoi (input.substr (0, i).c_str ());
switch (input[length - 1])
{
case 'd': return number * 1; break;
case 'w': return number * 7; break;
case 'm': return number * 30; break;
case 'q': return number * 91; break;
case 'y': return number * 365; break;
}
}
}
}
return 0; // Error.
}
////////////////////////////////////////////////////////////////////////////////
std::string expandPath (const std::string& in)
{
std::string copy = in;
std::string::size_type tilde;
if ((tilde = copy.find ("~/")) != std::string::npos)
{
struct passwd* pw = getpwuid (getuid ());
copy.replace (tilde, 1, pw->pw_dir);
}
else if ((tilde = copy.find ("~")) != std::string::npos)
{
std::string::size_type slash;
if ((slash = copy.find ("/", tilde)) != std::string::npos)
{
std::string name = copy.substr (tilde + 1, slash - tilde - 1);
struct passwd* pw = getpwnam (name.c_str ());
if (pw)
copy.replace (tilde, slash - tilde, pw->pw_dir);
}
}
return copy;
}
////////////////////////////////////////////////////////////////////////////////

1317
task.html

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
<pkg-contents spec="1.12"><f n="task" o="root" g="wheel" p="33261" pt="/Users/paul/task.git/binary/task" m="true" t="file"><mod>owner</mod><mod>group</mod></f></pkg-contents>

1
task.pmdoc/01task.xml Normal file
View File

@@ -0,0 +1 @@
<pkgref spec="1.12" uuid="C71026FD-E252-42CD-89C3-2F6F087AAF17"><config><identifier>com.beckingham.task141.task.pkg</identifier><version>1</version><description/><post-install type="none"/><requireAuthorization/><installFrom>/Users/paul/task.git/binary/task</installFrom><installTo mod="true" relocatable="true">/usr/local/bin</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"/><mod>parent</mod><mod>locationType</mod><mod>relocatable</mod><mod>installTo.path</mod><mod>installTo</mod></config><contents><file-list>01task-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>

1
task.pmdoc/index.xml Normal file
View File

@@ -0,0 +1 @@
<pkmkdoc spec="1.12"><properties><title>Task 1.4.1</title><build>/Users/paul/task.git/binary/task-1.4.1.pkg</build><organization>com.beckingham</organization><userSees ui="easy"/><min-target os="3"/><domain system="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="task" id="choice0" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="com.beckingham.task141.task.pkg"/><choice-reqs><requirement id="tosv" operator="ge" value="'10.5.0'" selected="no" enabled="no" hidden="unchanged" startSelected="unchanged" startEnabled="unchanged" startHidden="unchanged"/></choice-reqs></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"><resource mod="true" type="license">/Users/paul/task.git/binary/COPYING.txt</resource><resource mod="true" type="readme">/Users/paul/task.git/binary/README.txt</resource></locale></resources><flags/><item type="file">01task.xml</item><mod>properties.title</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc>