feat(reminder)!: one command per reminder, marked as done into a file command; append to a file command #275
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "274_reminders-done-and-file-append"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #274.
What changes
streamd <file-command> append TEXT...(R31): adds# <TEXT>at the end of the file the command has for now (a section match gets the line at the end of its file), with the moment markers that make the line a shard of now:@HHMMSSon a file of today,@YYYYMMDD @HHMMSSon one of another day. The markers go after the tags the text starts with. Without a file for now, one is created that holds only the line, not the template. It printsAppended to <path>/Created <path>.One command per reminder (breaking) (R29):
[[commands.<key>.rules]]is gone. A reminder is its own[commands.<key>]withdescription(what it says; its key without one),expect,trigger,startand the new optionalinto_file. An oldrulesis rejected at its line, with how to rewrite it. Outline, change, index, completion, schema, rename (into_filefollows a renamed file command),init.toml(three commented reminder examples), LSP and FFI records are adapted.streamd <reminder> done: writes the tag the reminder expects (# @CalledXYZ @143000) into the file of itsinto_filecommand throughappend. The tag is the one that places the firstexpecttable on its own, together with what the file type hands down; a tag named like the value comes first, then the rest by name, and never an alias. Validation rejects aninto_filethat is not a file command,into_filewith aniftrigger, and a reminder no tag can write. A reminder withoutinto_file, or with aniftrigger, fails at run time with a reason (CoreError::NoIntoFile/DoneNotSupported, also inStreamdException).Terminal front-end: reminder commands no longer get a tab each. There is one built-in view
remind, next toconfig, listing the due reminders of all of them.dmarks the selected one as done, andstreamd <reminder> -iopens the view on that reminder.Facade / bindings:
append_to_file,reminder_done,can_mark_done;DueRemindercarrieskey(and no longerrule).App: a reminder's text is shown once. Done sits at the bottom right of every reminder that can be marked as done, on the Stream tab and under Reminders in All (shared
ReminderBanner). A failed Done shows its reason inside the banner; the plan asked for a snackbar, but these screens have no snackbar host. A successful one is committed like a save. The reminder form editsexpect, trigger,startand Done into directly.Checks
cargo test(core, CLI, FFI), clippy and fmt through the hooks,nix flake check: all pass.testDebugUnitTestandvalidateDebugScreenshotTestpass. The re-recorded references (Stream reminders, All commands, Commands tab of the configuration, reminder form) were looked at.