In TaskPaper’s model you have a outline structure of “items”. Each item has a type (project, task, note) and each item can have associated attributes (tags). And that’s about it.
The reason that @done causes strikethrough formatting isn’t because of any special understanding of “done” baked into TaskPaper’s code, instead it’s because there is this rule in TaskPaper’s default stylesheet:
item[data-done] {
> run[content] {
text-strikethrough: NSUnderlineStyleSingle;
text-strikethrough-color: @text-color;
}
}
This setup increases flexibility… there’s not much baked into TaskPaper’s core code, so it can be modified through scripts and stylesheets to work in lots of different ways. TaskPaper files can also be edited in any plain text editor… there are no internal valid/invalid constraints that might be broken when used in another app.
But all of this also means that @done has no special behavior. If you want behavior beyond the default tag attribute behavior you’ll need to add stylesheet rules, or you’ll need to use a script to make changes in a constrained way.
There are lots of scripts & themes here, though none that do exactly what you want I think: