So I’ve fleshed na out into a pretty great tool for querying and adding to a TaskPaper file, making it easy to manage having a todo list in every project directory I work in. But there was one thing I couldn’t do quickly from the command line: mark a task as completed.
na update
As of version 1.2, na can now perform actions on tasks based on a quick text/tag search. Just run na update -a Do that thing
and it will find an entry containing “do,” “that,” and “thing”, mark it @done, and archive it. See na help update
for a full list of actions you can perform — everything from adding/removing tags to completing/deleting/archiving. You can even add notes to existing actions. It’s pretty nifty. There are still plenty of times where it’s faster to just open up TaskPaper or load the todo file in my editor with a TaskPaper extension, but for quick one-offs I no longer have to leave the command line.
By the way, the update command works best if you have fzf
installed. You can get it with brew install fzf
. It will fall back to gum
and then to a readline interface, but fzf
will give you the most elegant menus1.
There are also new commands for viewing project hierarchies, listing todo file history, seeing the changelog, and more. Check out the docs!
Installing
If this is the feature that finally got you to install na, see the Installation instructions in the docs. It’s a gem, so the simplest install is gem install na
, but there are tips for using brew gem
in there as well.
If you’re already using na, you can update to v1.2.x using gem upgrade na
or brew gem upgrade na
, depending on how you installed it.
Other Changes
Changed
na add --to
now specifies a project,--in
specifies a todo file- Prefer
fzf
overgum
when available
New
--edit
and--delete
for saved searches (na saved
)na add --todo FILE
will match any known todo file when adding an actionna add --project PROJ
will match any existing project when adding an actionna update [options] search string
will update an existing task, moving it between projects, adding and removing tags, marking finished, setting priority, adding/replacing notes, or archiving it--tagged TAG
flag forna update
searches by tag/valuena projects
will list all projects in a todo file, optional argument to query known todos--delete
switch forna update
- Added
--done
tag to next/find/tagged to include @done actions in the output - Use
na changes
to view the changelog and see recent changes
Improved
- A parenthetical at the end of an action will be interpreted as a note. If –note is additionally supplied, entered note is concatenated to parenthetical note.
- Allow multi-line notes
- Include arguments with
na edit
to narrow down which file to edit (partial matching) - Improved handling of todo file search arguments for
na next
- If todo file search returns zero results, loosen search
- When using !negations in todo matching, allow the negation to match any part of the path, not just last element
- Full token matching when using
na todos QUERY
- Offer gum and readline fallbacks for fzf menu with
na update
--overwrite
option when adding a note usingna update
(defaults to append)- Allow multiple file selections for
na update
- Display “Inbox” as a parent
- You can run
na SAVED_SEARCH
using any saved search (same as runningna saved SAVED_SEARCH
but niftier)
Fixed
- Unable to search for next action tag with
find
ortagged
na add --priority
being interpreted as note- Immediately save created todo files to history
- Project regex
- Error when an action contains a left curly brace
- Don’t show @done tasks unless specifically searched for
-
Doing can install fzf itself, but this project is significantly smaller than Doing and I think people can take responsibility for their own prerequisites. ↩