The doing
CLI that I announced yesterday has been more warmly received than I expected. I’ll share expansions and updates to it as they happen. If you’ve already installed doing
with gem install doing
, you can update with the latest features using gem update doing
. Fresh installs will get them by default.
New “done” command
I just added one: a doing done
command for automatically marking an entry complete and optionally sending it straight to the Archive section.
If I’m recording a task I’ve just finished, I can use
doing done added new done command to doing
and create a task that includes a TaskPaper-style@done
tag, compete with the current date. This command can optionally take a-a
switch to immediately send it to the “Archive” section, or use-s SECTION
to specify your own destination.
I like to use my WWID file as a record at the end of the week, but I’ve found that half my entries are projects I’m starting, and the other half are notes that I’ve finished a task or project. Being able to separate them as I enter them means easier review later.
Specify count when archiving
doing archive -k X later
will now archive the “Later” section, keeping X entries instead of the old hardwired 5. You can specify a section to archive as shown, or leave it blank to default to the “Currently” section.
Custom views
You can now create your own views in the ~/.doingrc
file and view them with doing view view_name
. Just add a section like this:
views:
old:
section: Old
count: 5
wrap_width: 0
date_format: '%F %_I:%M%P'
template: '%date | %title%note'
By the way, you can get to this configuration file easily with done config
, which will use $EDITOR
by default. You can override that and choose your own editor with -e editor
, which must be a valid Unix executable (like subl or mate).
You can add additional custom views, just nest them under the “views” key (indented two spaces from the edge). Multiple views would look like this:
views:
mine:
section: Later
count: 5
wrap_width: 60
date_format: '%F %_I:%M%P'
template: '%date | %title%note'
old:
section: Old
count: 5
wrap_width: 0
date_format: '%F %_I:%M%P'
template: '%date | %title%note'
The “section” key is the default section to pull entries from. Count and section can be overridden at runtime with the -c
and -s
flags.
You can also now easily add new sections with done add_section section_name
. You can also create them on the fly by using the -s section_name
flag when running doing now
. For example, doing now -s Misc just a random side note
would create the “just a random side note” entry in the section called “Misc,” creating it if it doesn’t exist.
Launchbar
The previous incarnation of doing
had a LaunchBar companion that I used frequently. The Day One popup has mostly replaced that for me, but only because I have a system that connects it to my WWID file. However, I’ve still found a place for adding WWID entries without including them in my journal, and LaunchBar is the perfect way to do that for me.
All you need is an AppleScript saved at “~/Library/Application Support/LaunchBar/Actions/Doing.scpt”. It should look like this:
on handle_string(message)
-- get the input from LaunchBar
if message is "?" then
-- if the input is just "?" display the last three entries
set _doing to do shell script "/usr/bin/doing recent 3"
tell application "LaunchBar" to display in large type _doing
else
-- otherwise, create a new entry using the input
do shell script "/usr/bin/doing now " & quoted form of message
end if
end handle_string
I’m certain intrepid souls can make that simple script work fine with Alfred as well.
That’s it for now. See the doing
project page for full instructions and details. I’m certainly open to feedback on this tool. Based on Twitter and my email, this is something more people need than I had guessed. Please post issues, discussions and requests on GitHub.