Click on project - select label?


#1

I have a bunch of projects (customers) I’m working on - let’s call them Alpha, Bravo, Charlie, Delta, Echo. About 50 projects in all, and I know what they are ahead of time, i.e. this list does not change often.

In a perfect world, I would create each new task neatly under the associated project, but in real life I enter new tasks spontaneously, throughout my TaskPaper, using labels like @alphalabel, @bravolabel, etc.

(Why bother with projects at all? They line up on the left of my TaskPaper as a visual reminder of my customer names.)

How can I associate the labels with the projects, so that when I click on the Alpha project, I retrieve all tasks tagged @alphalabel?

Thanks.


#2

I don’t know if you had tried the latest beta (270), but if you look at the sidebar, all your tags will show there if you want to (just as you like to have a reminder of your customer with the projects); and you can use CMD-T to get a menu to call up a helper to tag more things with.

At the moment, you cannot do what you want. I really don’t think that is something that will be implemented any time soon either, but maybe ¯_(ツ)_/¯ ?


#3

I don’t think that’s going to be possible, they are distinct concepts in TaskPaper, wouldn’t really make sense to make that sort of link. But you could write a script to generate the proper search. For example if you want to search for “Alpha” then the search that you need is maybe like this:

project Alpha//* union @alpha

Since the pattern that you want is pretty simple you could do a script to quickly generate it. Try this script:

function TaskPaperContextScript(editor, options) {
  if (editor.focusedItem) {
    var projectName = editor.focusedItem.bodyContentString;
    editor.itemPathFilter = "project " + projectName + "//* union @" + projectName.toLowerCase();
  }
}

Application("TaskPaper").documents[0].evaluate({
  script: TaskPaperContextScript.toString()
})

To use:

  1. Select project in sidebar (that becomes the “focusedItem” in the script above)
  2. Run the script and it will generate the appropriate search for that selected project