# Taskmator Update Now with URL Scheme Support

Page content

Back in January Hog Bay Software killed-off TaskPaper for iOS. They made it as easy as possible for someone else to pick up the torch by offering the source code for the original iOS app. Soon after Taskmator came out and it fixed many of the remaining bugs on iOS 7 but it also lost some features along the way.

Today Taskmator brings back the original glory of TaskPaper but updated to support iOS 8. URL scheme support is back and many of the bugs of earlier versions are gone. There’s not a lot of new functionality but just fixing support for TextExpander is a major improvement.

If you are a plaintext party-member and working on iOS, then you’ve probably been creating or mangling scripts in Editorial. Many of the scripts I use simply replaced the original query syntax of TaskPaper. Taskmator is a breath of fresh air.

The quick access to tagged tasks as well as sub-projects requires no tweaking. It just works with any plain text file.

The built-in support for applying new tags or archiving completed tasks makes Taskmastor a great starting point with very little tweaking. Selecting an rearranging or moving tasks is also something I missed.

### Query Syntax

I covered the original TaskPaper query syntax in a post last February. It’s simple and easily extended. It’s also fully supported in Taskmator.

These are my TextExpander shortcuts. With TE shortcuts it’s pretty easy to dig deep and get to exactly what I want (or need) to see.

ttavail shows me what I can work on and limits to stuff that with a start or due date before tomorrow. It expands to:

:::text
not @done and not @cancel and not @hold and not @defer and (@start <=  %Y-%m-%d or @due <=  %Y-%m-%d or @today)


ttsoon gives me a view into the next 5 days of stuff. It expands to:

:::text
not @done and not @cancel and not @hold and (@start <= %@+5D%Y-%m-%d or @due <=  %@+5D%Y-%m-%d or @today)


ttstall is for checking on tasks that I’ve put on hold and want to review. It expands to:

:::text
not @done and not @cancel and (@hold or @waiting)


ttprog is an In Progress filter and expands to:

:::text
not @done and not @cancel and not @hold and (@started or @draft or @waiting or @today)


I have a bunch of other TextExpander snippets but these take the hard work out of looking into my plaintext documents. They all work in Taskmator from the search box while viewing a single document. Tapping the magnifying glass on the tool bar instantly clears the search which is convenient for quickly switching between filtered views.

### URL Scheme

This is what I missed most. One of my favorite ways to do quick searching and capture is with Launch Center Pro.

The Taskmator URL scheme supports a good variety of methods:

• Create a new file: taskmator://new
• Create a new file with custom title (with default file extension): taskmator://new/filename
• Create a new file with a custom title and extension (newfile.md): taskmator://new/newfile.md
• Create a new file with a custom title and insert body text (“Some text here”): taskmator://new/newfile?body=Some text here
• Create a new file with custom title (newfile), extension (.md), and body txt (Some text here): taskmator://newfile.md?body=Some text here
• Create a new date-stamped file: taskmator://create
• Create a new date-stamped file and insert body text: taskmator://create?body=Some text here
• Open a file in the top folder level (with default file extension): taskmator://open/filename
• Open a file with a non-default file extension (like *.md): taskmator://open/filename.md
• Open a file in another folder: taskmator://open/folderpath/filename
• Append text to the body of a file (inbox.txt): taskmator://open/inbox.txt?append=My notes go here
• Search for files containing the “text” : taskmator://search/text

The append function is particularly nice since it supports appending to a specific plain text file.

Here’s a Launch Center Pro URL that prompts for text input and then adds it to my work list file named tpWork.taskpaper.

:::text


The append action does exactly what you’d think. It appends the text entered at the prompt to the bottom of the specified file. To append a task, prefix it with a dash. To append a new project end the text with a colon. This is a really fast way to enter all kinds of information, including brief notes. I do hope there’s eventually an option to prepend. I prefer for new items to to start at the top of my documents so that they are immediately obvious.

The Launch Center Pro prompt input doesn’t really support multiple lines, because the return key launches the action. With help from TextExpander, it’s easy to workaround this limitation and create multiple tasks, projects and notes right from LCP.

** Note:** as commented on Twitter, if you use the [prompt-return] option in the URL, then you get a fully functional Return key in Launch Center Pro. Now I only need to use my snippet out of nostalgia and as a reminder that there’s always a better way to do everything.

I created a TextExpander snippet that inserts the Enter key:

:::text
%key:enter%


It’s important that it’s not just a snippet of the Return key. That will trigger the action rather than insert a new line.

My snippet for this action is ttn. I can quickly type this to create a new line in the LCP prompt.

Here’s my LCP URL for searching across all of my plaintext task files:

:::text


This search type is pretty basic. It’s not as powerful as task filters in Taskmator. It really just shows files that contain a substring match.

Launch Center Pro’s support for selection lists is pretty great. This action allows me to select which task file to append to. Selecting an item inserts the file name into the URL and then prompts for the text to append.

:::text