From 1720b2ebb12d8fdbdd372665e9d5fd394d8bc8dc Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 28 Jan 2026 19:04:38 +0200 Subject: Add random video selection hotkey (x) - Add selectRandomVideo() method to randomly select from filtered videos - Bind to 'x' hotkey in table key handler - Respects current filters when selecting - Add comprehensive tests covering edge cases and integration scenarios - Update README with new keyboard shortcut documentation Amp-Thread-ID: https://ampcode.com/threads/T-019c058b-410d-7229-9a95-afa8eb13efce Co-authored-by: Amp --- README.md | 3 +- coverage.html | 2009 ++++++++++++++++++++++++++++++++++++++++++++ coverage.out | 582 +++++++++++++ internal/app/model_keys.go | 15 + internal/app/model_test.go | 489 +++++++++++ yoga | Bin 0 -> 5758165 bytes 6 files changed, 3097 insertions(+), 1 deletion(-) create mode 100644 coverage.html create mode 100644 coverage.out create mode 100755 yoga diff --git a/README.md b/README.md index b6a5f4d..84baf3f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Yoga -Yoga is a TUI for browsing local yoga videos with quick filtering, duration probing, and one-key playback via VLC. It has ben vibe-coded. +Yoga is a TUI for browsing local yoga videos with quick filtering, duration probing, and one-key playback via VLC. It has been vibe coded. ![Yoga](yoga.png) @@ -26,6 +26,7 @@ Yoga recognises common video extensions (`.mp4`, `.mkv`, `.mov`, `.avi`, `.wmv`, - `n`, `l`, `a` – Sort by name, length, or age - `c` – Toggle VLC crop - `t` – Edit tags for the selected video +- `x` – Select a random video from filtered results - `H` / `h` – Hide or re-show the help footer - `q` – Quit diff --git a/coverage.html b/coverage.html new file mode 100644 index 0000000..a129207 --- /dev/null +++ b/coverage.html @@ -0,0 +1,2009 @@ + + + + + + yoga: Go Coverage Report + + + +
+ +
+ not tracked + + not covered + covered + +
+
+
+ + + + + + + + + + + + + + + + + + + +