Functional Weave
Code in Rust

Tagged todo

20 capabilities

todo.due-label
The short English label shown next to a todo: "2 days overdue", "Due today", "Due tomorrow", "Due Fri 2 Oct".
due_label in Rust
todo.due-status
Where a todo stands against its due date today: done, overdue, today, tomorrow, this week, later or no date.
due_status in Rust
todo.export-csv
Write todos as a CSV file (RFC 4180) with one column per field, for backups, spreadsheets and other apps.
export_csv in Rust
todo.filter
The todos a list view shows: all, active or completed, optionally one tag, and a search box, in input order.
filter_todos in Rust
todo.group-by-due
Split todos into Overdue, Today, Tomorrow, This week, Later, No date and Done sections, in that order.
A group of 2: group_by_due, group_by_due_with_order
todo.import-csv
Read todos from a CSV file (RFC 4180) as todo.export-csv writes it, checking every row, with row-numbered errors.
A group of 2: import_csv, validate_todo_csv
todo.item
The to-do item type (Todo, TodoDraft, Recurrence) and its validators, with a message per field.
A group of 2: validate_draft, validate_todo
todo.list
The to-do list reducer: add, edit, complete, remove, clear and reorder todos, each returning a new list.
A group of 8: add_todo, update_todo, toggle_todo, remove_todo, clear_completed, toggle_all, move_todo, toggle_all_mode
todo.merge
Merge imported todos into a list by id: an imported todo replaces the one with its id, new ids are appended.
merge_todos in Rust
todo.sort
Sort todos by manual order, due date, priority, creation time or title, stably, with sensible tie-breakers.
sort_todos in Rust
todo.summary
Counts for a todo list's header or footer: total, active, done, overdue, due today, percent done and "3 items left".
summarise_todos in Rust
todo.tag-counts
How many todos carry each tag, for a tag sidebar: most used first, open todos only unless asked.
tag_counts in Rust