tdx
tdx
is a todo manager for iCalendar files.
It is designed to work with Vdirsyncer and expects to operate in its storage format.
iCalendar-compatibility means it can be used as a CLI companion to any CalDAV-enabled todo program, such as iOS Reminders. See more on how to set up calendars and synchronization in Vdirsyncer documentation.
Features
-
adding todos
-
automatic date and priority parsing
-
-
listing todos
-
sorting and filtering by fields
-
automatic hashtag parsing and output organized by tags
-
-
completing todos
-
editing todos in a
$VISUAL
/$EDITOR
program -
deleting todos
-
purging completed/cancelled todos
Demo
demo.mp4
Usage
> tdx -h tdx -- todo manager for vdir (iCalendar) files Gadzhi Kharkharov <[email protected]> USAGE tdx <command> [options] [<args>...] COMMANDS list, ls list todos add, a add todo done, do complete todos edit, e edit todo delete, del delete todos purge remove completed todos show show todo info See 'tdx <command> -h' for command usage ENVIRONMENT VARIABLES TDX_PATH (required) path to vdir directory; either root vdir directory with multiple collections or direct path to a single collection. TDX_LIST_OPTS default options for <list> command, see 'tdx list -h'; for example, to organize by tags and use a specified list: TDX_LIST_OPTS='-t -l myList' TDX_ADD_OPTS default options for <add> command, see 'tdx add -h'; for example, to use a default list for new todos: TDX_ADD_OPTS='-l myList' NO_COLOR disable colors in output FLAGS -v print version -h print help
> tdx add -h Add new todo USAGE tdx add [options] <todo> DUE DATE If todo text contains a date in one of the following formats, it will be applied as due date: * "today", "tomorrow", "in 3 days", "in 2 weeks" * "next week", "next month", "next monday" * ordinal date: "december 1st", "15th november" PRIORITY If todo text contains one or more "!" chars, they will be converted to priority: * "!!!" (high) * "!!" (medium) * "!" (low) OPTIONS -d description description text -l list list for new todo
Configuration
tdx
is configured through environment variables.
- TDX_PATH (required)
-
path to vdir directory;
either root path containing multiple collections or path to specific collection containing *.ics files - TDX_LIST_OPTS
-
default options for <list> command, see
tdx list -h
;
for example, to organize by tags and use a specified list:
TDX_LIST_OPTS='-t -l myList'
- TDX_ADD_OPTS
-
default options for <add> command, see
tdx add -h
;
for example, to use a default list for new todos:
TDX_ADD_OPTS='-l myList'
- NO_COLOR
-
disables color in output
Installation
From release binaries
Download the compiled binary for your system from Releases page and put it somewhere in your $PATH
.
From source
Requires Go installed on your system.
Clone the repository and run go build
, then copy the compiled binary somewhere in your $PATH
.
If Go is configured to install packages in $PATH
, itβs also possible to install without cloning the repository:
go install github.com/kkga/tdx@latest