@defer tag interpretation: is +24m months or minutes?

If at noon, I want to create a task that will be deferred twenty-five minutes into the future, does TaskPaper interpret @defer(+24m) as a task becoming available at 12:24, or as a task becoming available two years from now?

Does TaskPaper interpret @defer(+24M) identically?

Is there a syntax for defer-tag minutes-based duration-arithmetic?

Thanks for your time and attention.


Not sure that I follow completely what you are doing, but generally it doesn’t make sense to set a relative date (such as 24m) directly on a task. Since it’s a relative time it will always represent 24 minutes into the future. Instead you always want to assign absolute dates to tasks. Use relative dates:

  1. To easily create absolute dates (see next section)
  2. As part of search queries, Especially useful for saved searches. For example to find all tasks due in next 24 minutes.

How to easily insert absolute dates:

Entering absolute dates is a pain, no fun to type out 2018-11-27 14:04, much better to just type 24m when you want to set a date for 24m in the future. To get both you need to use Edit > Insert Date. That allows you to type a relative date, but generate an absolute date.

That panel is also a great place to figure out relative date syntax, because you can type in relative dates and see the resulting absolute date as you type. In answer to your questions:

  1. Both 24m and 24M map to 24 minutes.
  2. If you wanted to get 24 months you could specify unit as months, month, oc or o

Abstract: Task B cannot be begun until task A has been marked complete and time T has passed.

Use case: Drop off dry cleaning, then retrieve it no sooner than three days afterwards and no later than ten days afterwards.

Brute force implementation:

0: Unverified assumption: If I have a .taskpaper-formatted text in my Clipboard, I can paste it into TaskPaper.

  1. Create an iOS Shortcut which crafts …

-Fetch dry cleaning @defer(+3d) @due(+10d)

…, copies it to the Clipboard, and launches TaskPaper.

  1. Assign the shortcut to the Siri utterance “I dropped off my dry cleaning.”

  2. As you leave the dry cleaners, whisper “hey Siri I dropped off my dry cleaning” to the iPhone, wait for TaskPaper to appear, then paste from the Clipboard.

  3. In a hoped-for world, TaskPaper reads the @defer and @due tags, recognizes that they contain +durations, and does the date arithmetic to create a task with absolute dates.

  4. In a dreaded world, TaskPaper reads the @defer and @due tags, does not recognize the +durations, rejects them and the task they decorate as malformed, resulting in the forgotten, unclaimed garments being destroyed, justly, by the vexed dry cleaner, eleven days later.

Workaround: do the date arithmetic in the Shortcut. Bummer about the workaround: doing the date arithmetic in every Shortcut.

You could just run a simple script in something like Keyboard Maestro or Alfred. You could even automate the script so that it runs every hour, or day, or whatever you want. Most of the work has already been done by someone and the script was added into the “Script” section of the forum. Here is the link to it.

Convert dates

Now… In the other hand. @jessegrosjean, since you said that “It doesn’t make sense to set a relative date (such as 24m) directly on a task”, which makes perfect sense. Could the next version of TaskPaper change relative dates automatically when used in tags, but keep the relative dates untouched when using the search function?

Yes, that would be the workaround, and running that simple script would become a step in every Shortcut.

The alternative would be for TaskPaper to interpret “-do_something @defer(+15m) @due(+75m)” in a pasted text as an instruction to create a task with an absolute deferral t
ime fifteen minutes after the paste time and an absolute due date seventy-five minutes after the paste time.

Hi BetweenTwoParks,

I agree with you, but I think I may have misunderstood what you wrote. It was @jessegrosjean who made the of only using relative dates only on queries by saying,

It would be therefore very reasonable to suggest that those relative times are converted into absolute dates by the TaskPaper engine. I am imagining that this would required the new engine and a way to parse the info as it is typed into TaskPaper, and that is something that may be coming with TaskPaper 4. And that is what I mentioned in my post.

Now… according to your approach. I gathered that you wanted TaskPaper to do this in the background. Is that correct? Maybe I misunderstood, but don’t you think that this is something better handled by something like a program that checks for changes and then runs a Script in those changes?

Something like, entr(1) would help you then. I am not sure if you can do that with Mojave and the file permissions; but I know you can use Hazel to run a script when your files change.

Because what happens if you are using your iPhone as you mentioned in your series of steps, but you don’t open TaskPaper in your computer for a couple of days? Now all of your dates are different than what you meant when you used your phone to add that to your TaskPaper file.

Maybe if you are using your phone to do this, Drafts would be the way for you to do it. That way you can simplify your steps. You should really check it out!

I just don’t think that TaskPaper should morph or add a whole different program that runs in the background looking for a series of changes in a file (imagine trying to set that up) and then format something when that is something that is available now by other mature programs that have that as their emphasis and offers more power to their users.

I might have misunderstood you, but if you have a questions, clarifications, or more suggestions, share them again. I would like to help, and I hope that letting you know about these programs help your workflow.