Repository navigation
feat: support time-of-day in due dates - #60
Merged
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #58.
What
Adds time-of-day support to due dates, which were previously whole-day deadlines only.
New accepted formats (in addition to
YYYY-MM-DD,today,tomorrow):YYYY-MM-DDTHH:MM[:SS]andYYYY-MM-DD HH:MM[:SS]today+HHMM,tomorrow+HHMM(that day atHH:MM), andnow+HHMM(HHhours /MMminutes from now). The colon is optional (14:30==1430).nowkeywordBehaviour
YYYY-MM-DD HH:MMand are classified time-granularly — they flip toOverdueonce the instant passes.due:todaystays due today all day (no regression).Entry-path nuance
A
due:token is whitespace-split, so it can't contain a space — the token form uses theTseparator (due:2026-07-01T14:30). The--dueflag accepts the quoted space form too (--due @3 "2026-07-01 14:30").Touched
taskbook-common/src/due.rs— parsing, formatting, status (core change)CLAUDE.mddocsTest plan
cargo test --workspace— green (new unit tests cover ISO date-time, space separator, seconds, midnight-renders-as-date,today+/tomorrow+/now+offsets, invalid offsets, and time-granular vs whole-day status)cargo clippy --workspace --all-targets— cleancargo fmt --all --check— clean🤖 Generated with Claude Code