TODO-TEXT(1)

NAME
todo-text - ColdSync conduit that converts to do lists to/from plain text

SYNOPSIS
Add the following to your .coldsyncrc file:

        conduit fetch, dump {
                type: todo/DATA;
                path: "<...>/todo-text";
            arguments:
                Where:  /home/arensb/todo;
                Delete: yes;
        }

or run "todo-text -conduit".

DESCRIPTION
The "todo-text" conduit converts to do lists between the built-in Palm ToDo application, and a rather simple text format. Here is an example of the sort of file that "todo-text" generates:

        - Build latest version of GNOME
                Official site is http://www.gnome.org/ . Get it at night,
          when there are fewer users.
        - Invite Stan for frisbee
        * Shopping
                Ramen
                Jolt
                Altoids
                Popcorn

This format should be fairly self-explanatory. The first line of an item is its description; subsequent lines are the attached note, if any. A tab marks the beginning of a new paragraph.

In the example above, the third item is marked with a star ("*"), meaning that this item has been completed.

The aim is simplicity, not completeness. Hence, this format ignores due dates and provides only rudimentary support for priorities. See "LIMITATIONS", below.

  Headers and Footers
Anything before the first ""- "" or ""* "" is ignored. In principle, you could use this feature for custom headers.

If a text file contains ""__END__"" on a line by itself, "todo-text" will ignore that line and anything after it when it runs as a Fetch conduit.

In the current implementation, "todo-text" clobbers these headers and footers when it runs as a Dump conduit, so their usefulness is minimal.

ARGUMENTS

Where
    This indicates the path to a directory where "todo-text" will store the to do lists.

Delete
    The "Delete" argument is only used when "todo-text" is run as a Fetch conduit. It determines what happens to those to do items that appear in the PDB, but not in the text file (presumably these are the items that you have deleted from the text file).

    This argument can take on one of four values: "yes", "no", "archive", or "expunge".

    "no" means not to touch those items at all. The text file updates the PDB, but when "todo-text" runs as a Dump conduit, the "deleted" items will show up in the text file again. "no" is the default.

    "expunge" means to delete the "deleted" items without keeping a backup.

    "yes" and "archive" are synonymous. This means to remove the "deleted" items from the PDB, but to keep a copy in the "ToDoDB" archive file, ~/.palm/archive/ToDoDB by default.

    The first time around, you should set

            Delete: no

    so that the text files and PDB contain all of your to do items. After the next sync, though, you should change it to either "archive" or "expunge" so that you don't have to delete items in two places each time.

Item-Prefix
Done-Prefix
Item-Cont
Note-Indent
Paragraph
    These arguments affect the way the items are printed to the text files. I won't explain them in detail, because they are set to sane values by default, and the current version of ColdSync (1.4.5 as of this writing) doesn't allow you to set them to other sane values.

LIMITATIONS
(aka "Bugs that I don't intend to fix".)

"todo-text" doesn't deal with due dates, mainly because I don't use them. If an existing item has a due date attached, "todo-text" doesn't modify it, though.

"todo-text" deals with priorities in the following way: when it is run as a Dump conduit, it writes the to do list in order of decreasing priority (i.e., priority 1 at the top, priority 5 at the bottom).

When it is run as a Fetch conduit, it assumes that the list is in order of decreasing priority. If your file contains items

        - Existing item
        - New item

and "Existing item" has a priority of 3, then "New item" will be added with a priority of 3 as well.

BUGS
It is not possible to set the indentation arguments to sane non-default values.

Headers and footers are not preserved across runs.

Probably lots of boundary conditions. Whitespace, in particular, may not be preserved exactly across runs.

SEE ALSO
coldsync(8)