π Todo TUI
β¨οΈ A Vim-like TUI that honors the simplicity of todo.txt π
|
|
|
β¨ Features
- β‘ Vim-like TUI β Navigate with intuitive, familiar keybindings (
j,k, etc.) - π todo.txt Compatible β Fully supports the standard todo.txt format
- π Powerful Filtering β Filter by
+project,@context, due dates, and more - π Clipboard Support β Easily copy task text with visual confirmation
π Installation
Go Install
# Install latest version
go install github.com/yuucu/todotui/cmd/todotui@latest
# Install specific version
go install github.com/yuucu/todotui/cmd/[email protected]
Binary Download
Download pre-built binaries for your platform from the Releases page.
π Quick Start
# Basic usage
todotui ~/todo.txt
# If default_todo_file is set in config file, no argument needed
todotui
# With custom configuration
todotui --config config.yaml ~/todo.txt
β¨οΈ Key Bindings
| Key | Action |
|---|---|
j/k |
Navigate lists |
Tab |
Switch between filter and task panes |
Enter |
Apply filter / Complete task |
a |
Add new task |
e |
Edit task |
d |
Delete task |
p |
Cycle priority (AβBβCβDβnone) |
r |
Restore deleted/completed task |
y |
Copy task text to clipboard |
? |
Show help |
q |
Quit |
π Task Format
Supports standard todo.txt format:
(A) Call Mom @phone +family due:2025-01-15
Buy milk @store +groceries
x 2025-01-14 Clean garage @home +chores
βοΈ Configuration
Todo TUI can be configured using a config.yaml file for detailed customization.
π Configuration File Location
- macOS/Linux:
~/.config/todotui/config.yaml - Windows:
%APPDATA%/todotui/config.yaml
π¨ Basic Configuration Example
# ~/.config/todotui/config.yaml
theme: catppuccin # Available: catppuccin, nord, everforest-dark, everforest-light
priority_levels: ["", A, B, C, D]
default_todo_file: ~/todo.txt
π Complete Configuration Reference:
- sample-config.yaml - Comprehensive configuration file with all options and detailed explanations
π» Usage
# Automatic config detection (loads ~/.config/todotui/config.yaml)
todotui ~/my-todo.txt
# If default_todo_file is set in config, no CLI argument needed
todotui
# Custom config file
todotui --config /path/to/config.yaml
Supported formats: YAML, JSON, TOML
ποΈ Development
Quick Setup
git clone https://github.com/yuucu/todotui.git
cd todotui
make install # Install development tools and set up pre-commit hooks
make build # Build the application