Crates.io | ttdl |
lib.rs | ttdl |
version | 4.4.1 |
source | src |
created_at | 2019-01-06 00:49:03.72859 |
updated_at | 2024-08-25 03:36:23.391487 |
description | TTDL - Terminal ToDo List manager |
homepage | |
repository | https://github.com/VladimirMarkelov/ttdl |
max_upload_size | |
id | 105762 |
size | 521,012 |
A CLI tool to manage todo lists in todo.txt format. A short demo of TTDL in action:
For better readability, you can enable syntax highlighting (via command-line option --syntax
or by enabling it in the configuration file).
Colors for tags, projects, contexts, and hashtags are customizable: see details in the configuration file, section [syntax]
.
Example of the same todo output with default options and with syntax highlighting on:
The application can be compiled from source, or installed using cargo:
$ cargo install ttdl
You need Rust compiler that supports Rust 2018 edition (Rust 1.31 or newer) to do it. If you want to upgrade existing ttdl execute the following command:
$ cargo install ttdl --force
For Windows and Ubuntu you can download precompiled binaries from Release page.
Adding a new todo, append or prepend a text to existing todo results in error:
It may happen if the text starts with(or contains only) a project or a context:
$ ttdl add "+myproject"
Subject is empty
Workaround: add a space between quotation mark and '+' or '@' symbol. The todo will be added without leading space:
$ ttdl add " +myproject"
Added todo:
# D P Created Finished Due Threshold Subject
----------------------------------------------------------
8 +myproject
TTDL is a standalone binary and it does not create any files in user's directory. But at start, it checks for a configuration file - please see example configuration (ttdl.toml)[./ttdl.toml] in user's configuration directory and loads it. Local configuration files are supported as well. Locations where TTDL looks for a configuration file:
~/.config/ttdl/ttdl.toml
c:\Users\{username}\AppData\Roaming\ttdl\ttdl.toml
/Users/{username}/Library/Application Support/ttdl/ttdl.toml
To check in which directory TTDL looks for its configuration file, please refer to the table Features, function name config_dir
.
Run TTDL with the command line:
ttdl [command] [ID range] [subject] [filter options] [extra options]
The list of available command is short but the commands are powerful. All commands support group operations and dry run mode. Except add
command that adds a new todo one at a time. Please, refer to section "Examples", it provides a handful of useful examples of how to filter and modify todo list.
Commands:
finished
mark from completed todos;done.txt
. The file done.txt
is created(if it does not exist) in the same directory where main todo list file is located;Most of the commands can be abbreviated. Please refer to built-in TTDL help to get a list of full command names and their aliases.
NOTE: done
moves a recurrent todo's due date to the next one, but it does not check if the new due date is in the future (it is by design). So, if a monthly task is 2 months overdue, you have to execute ttdl done ID
two times to push it to the incoming month or manually set a new due date with the command ttdl edit ID --set-due=YYYY-MM-DD
.
For detailed description please see README.md