TaskPaper 3.2 Preview (198)


  • Header and footer printing options to print panel.
  • Track expanded/collapsed state in extended file attribute.
  • Edit > Copy Displayed (Option-Command-C) for only displayed items.
  • Added a ShowPreviewBadge defaults key to hide “Prev” badge in TaskPaper’s preview version.


  • Tag autocompletions are now case insensitive.
  • Tag autocompletions only popup when editing at end of tag.
  • Require that both ( and ) be escaped with \ when used in tag values.
  • Move “Saved Searches” to top of toolbar search field popup.
  • Apply tag and similar commands only effect displayed items, even when selection includes collapsed or filtered items.
  • Items that are hidden with no visible ancestor are no longer deleted or copied even when the selection overlaps them.


  • Items > Format As to work when item is a project with trailing tags.
  • Document name (instead of always “Untitled”) now displays in printed header.


Renamed “display” text style attribute (used in base.less) to “content”. If your custom theme targets the “display” attribute anywhere you should change it to target “content” for version 3.2.

Scripting API

Added API for accessing Outlines and OutlineEditors:

  • Outline.getOutlines()
  • OutlineEditor.getOutlineEditors()
  • OutlineEditor.getOutlineEditorForOutline(outline)

Added additional API for selected items:

  • selectedItems – All items intersecting the selection.
  • displayedSelectedItems – Displayed items intersecting the selection.
  • displayedAncestorSelectedItems – All displayed items or items with a displayed ancestor intersecting the selection.

Renamed private API item.bodyDisplayString to item.bodyContentString and documented it as public API.

Script debug process change

Previously you accessed TaskPaper’s internal scripting context through Window > Show Script Debugger. That menu is removed, now you should:

  1. Open Safari
  2. Open TaskPaper
  3. Ensure Safari’s “Develop” menu is showing.
  4. Choose Safari > Develop > Computer > TaskPaper > index.html

And you show see a debug window for TaskPaper’s JavaScript context. This debug window has the added benefit of now working! It should break on any debugger statements in your script.

Changes since the last Preview release

  • Added more scripting API for accessing Outlines and OutlineEditors
  • Added Edit > Copy Displayed
  • Changed Items that are hidden with no visible ancestor are no longer deleted or copied even when the selection overlaps them. (Needs lots of testing!)


Learn about preview versions.

Download TaskPaper preview.


There’s still a small bug related to this change. Now the Saved Searches are properly displayed at the top of the popup, but the Tags section still have precedence over the Saved Searches when typing-to-select.

Take this example:

Today @search(@today)

    - TaskPaper knows about projects, tasks, notes, and tags. @today
    - It auto-formats these items so that your lists are easier to read.
    - Delete this text when you are ready to start your own lists.

Invoking the Search By popup and typing tod it’s expected the selection of the Today saved search, as it is on the top of the popup. But the selection goes to the today tag.

That’s certainly odd, though I don’t think I have control over it. I can’t quite piece together the logic, but if you change the saved search to be named (lowercase) “today”, then it does get picked up first. I can’t really explain that behavior other then to say it’s Apple’s built in behavior for selecting menu items.

Oh, yes, that’s really odd! I changed all my saved searches to lowercase and now “it works”. :smirk: