I went on a trip to Minneapolis this weekend. It went really well; I saw some
great friends, ate some great food, and spent some early mornings coding at the hotel. I was just coding to kill time when I couldn’t sleep, and playing with
na seemed like the perfect way to do it.
The first thing I did was take a second stab at “decomposing” the main binary so that each command had its own file, just to make maintenance easier. Finally got that working properly. It won’t change anything for the user, but it’s so much nicer to look at.
In addition to the
archive commands I added last week, the
update command now has a
--restore flag that can be used to remove the @done tag from an action or actions. It’s the same as using
--remove done, but I find it just a little more intuitive. This flag is mirrored as an
na restore [SEARCH] (or
na unfinish [SEARCH]) command.
I also added pagination, so for output that is longer than your screen, it will now pause using
more if available, letting you page through with shortcut keys. This also applies to the
help command, so it’s easier to wade through the extensive documentation that the command provides. You can disable this with
na --no-pager [COMMAND], a setting which can be saved to your config.
I added an
na completed command to view @done actions. It accepts
--after flags that recognize natural language dates and can be combined. You can also use
--tagged TAG to find actions tagged with any combination of tags (use comma separated list or use the flag multiple times, include a
+ to make a tag mandatory,
! to negate). Any arguments passed to the command will function as a tokenized text search. And, of course, you can run it with
--save [NAME] to save a complex search for later use with the
na saved command.
Speaking of saved searches, I also changed the
saved command to allow multiple saved searches to run at once. So now if you have a saved search for low priority and one for medium priority, you can run them both together with
na saved lowprio medprio and get combined results.
--doneflag not working on
- Missing descriptions in help examples
- When replacing a priority tag, remove any space before it the action text
- Detect @tags in search strings and convert them to tag search with comparisons
Check out the project page for installation and usage details.