feat: add occurrence-aware appointment search
This commit is contained in:
@@ -35,6 +35,11 @@ interval, count or until, weekly `BYDAY`, monthly `BYMONTHDAY`, yearly
|
||||
`BYMONTH`, and `EXDATE`. Invalid metadata retains at most the base event rather
|
||||
than crashing a render.
|
||||
|
||||
Search matching is a pure domain predicate over normalized event text; the TUI
|
||||
owns result presentation and occurrence identity. Recurring searches expand a
|
||||
finite window of five years on either side of the selected date so an unbounded
|
||||
rule cannot turn an interactive query into unbounded work.
|
||||
|
||||
Timed events retain their source basis: UTC, floating process-local time, or an
|
||||
IANA `TZID`. C++20 time-zone conversion keeps zoned recurrences at their civil
|
||||
wall time across daylight-saving transitions. The month grid displays instants
|
||||
|
||||
@@ -70,6 +70,8 @@ The full terminal is treated as a responsive canvas:
|
||||
| Move between editor fields | `Tab` / `Shift-Tab`, arrows |
|
||||
| Save/cancel editor | `Ctrl-S` / `Esc` |
|
||||
| Return to month/unfocus | `Esc` |
|
||||
| Search appointments | `/`, then type and press `Enter` |
|
||||
| Choose search result | arrows, `j` / `k`, then `Enter` |
|
||||
| Help | `?` |
|
||||
| Quit | `q` |
|
||||
|
||||
@@ -81,8 +83,10 @@ read-only instead of being discarded. Saves reject external changes, retain a
|
||||
last-known-good backup, and feed bounded session undo/redo history. Supported
|
||||
recurring instances appear throughout the month, preserve civil time across
|
||||
daylight-saving changes, and expose their source zone and whole-series mutation
|
||||
semantics in the reader. The next local-data work adds `/` search, agenda and
|
||||
calendar visibility views, then advanced recurrence overrides and rule editing.
|
||||
semantics in the reader. `/` searches occurrence-aware title, description,
|
||||
location, and calendar-ID matches in a finite ten-year window centered on the
|
||||
selected date. The next local-data work adds agenda and calendar visibility
|
||||
views, then advanced recurrence overrides and rule editing.
|
||||
|
||||
## Accessibility
|
||||
|
||||
|
||||
@@ -9,13 +9,14 @@
|
||||
- Guarded atomic `.ics` persistence, advisory locking, and round-trip tests
|
||||
- Bounded session undo/redo, exact external-change detection, and backup recovery
|
||||
- Windowed recurrence expansion, EXDATE, IANA TZID, and multi-day segment cues
|
||||
- Occurrence-aware appointment search with exact result-to-grid navigation
|
||||
- Meson build, Nix development shell, desktop entry, and Hyprland launcher
|
||||
- Seeded sample data when explicitly requested, never silent data mutation
|
||||
|
||||
## 0.1 — complete local calendar
|
||||
|
||||
- Advanced recurrence editing, RDATE/overrides, and embedded VTIMEZONE support
|
||||
- Search, agenda view, calendar toggles, import/export, configurable week start
|
||||
- Agenda view, calendar toggles, import/export, configurable week start
|
||||
- Screen-reader-friendly linear view and full Unicode display-width handling
|
||||
|
||||
## 0.2 — durable cache and provider boundary
|
||||
|
||||
Reference in New Issue
Block a user