✓ Uses Rust 2018 edition
|0.2.0||Mar 31, 2019|
|0.1.5||Dec 27, 2018|
|0.1.4||Nov 4, 2018|
|0.1.3||Oct 21, 2018|
|0.0.0||Aug 10, 2018|
#3 in Text editors
60 downloads per month
notnow is a terminal based TODO management program (that's right, yet another). It uses JSON for plain-text storage of a TODO database and is conceived in the Rust programming language.
Two of its overarching goals are to allow for tag based filtering of tasks, along with fully user-definable tags and queries, and to support server based synchronization of tasks using the CalDAV protocol as specified by RFC 4791. While filtering based on tags is already implemented, not all aspects of it are available through the UI. CalDAV support has not yet found its way into the program.
The program also acts as the first play ground for the gui crate, which explores the design space of UI applications using Rust.
The program stores its configuration below
(which most commonly defaults to
~/.config/notnow). Configuration is
notnow.jsonis a JSON file storing basic program state
task.jsonis a JSON file storing the user's tasks
Being terminal based, notnow is controlled through its UI as opposed to command line parameters. The program aims to mirror Vi style bindings where that is possible. The key bindings are as follows:
|a||Add a new task|
|e||Edit selected task|
|d||Delete selected task|
|j||Move task selection down|
|k||Move task selection up|
|J||Move selected task down|
|K||Move selected task up|
|g||Select first task on the current tab|
|G||Select last task on the current tab|
|Space||Toggle completion state of selected task|
|h||Select tab to the left|
|l||Select tab to the right|
|1-9||Select tab #x|
|0||Select last tab|
|`||Select previous tab|
|/||Start task search forward|
|?||Start task search backward|
|n||Continue task search forward|
|N||Continue task search backward|
|Return||Accept text input|
|Esc||Cancel text input|
|w||Save tasks to file|
In addition, when inputting text (e.g., when adding or editing a task), the backspace, delete, home, end, and left and right cursor keys have functions similar to those they carry most commonly.
The program has support for
libreadline style task
input, when built with the
readline feature flag enabled. That is,
when entering actual text (as opposed to just pressing a key to, say,
selecting a different task),
libreadline bindings will be honored.
notnow is in a well progressed development phase. A lot of the desired functionality exists, but not all is hooked up with the UI. More improvements are being worked on.