New play-media command: fzf multi-picker over audio/video files under the current directory (extension-filtered via fd), plays the selection(s) through the best available player.
Player resolution order: -p/--player flag → $play_media_player var → xdg-mime default handler → built-in fallback list (mpv, vlc). Launches backgrounded, mirroring open-url.
New _fzf_preview_media preview helper: reuses thumbnails already generated by desktop file managers (Dolphin/Nautilus/GNOME Videos) from the freedesktop thumbnail cache, falls back to ffprobe metadata, then file --brief.
Adds mpv/vlc as opt-tier entries in the fish-deps catalog.
fd extension filtering verified against a mixed test directory (media files only, recursive, non-media excluded)
_fzf_preview_media verified: missing-file path, and fallback-to-file path when no thumbnail cache entry exists
play-media --help output
Player resolution verified for all branches: invalid --player error, valid --player, $play_media_player override, xdg-mime fallthrough to built-in list, and the no-player-found error path
Manual interactive run in a real terminal
## Summary
- New `play-media` command: fzf multi-picker over audio/video files under the current directory (extension-filtered via `fd`), plays the selection(s) through the best available player.
- Player resolution order: `-p/--player` flag → `$play_media_player` var → `xdg-mime` default handler → built-in fallback list (`mpv`, `vlc`). Launches backgrounded, mirroring `open-url`.
- New `_fzf_preview_media` preview helper: reuses thumbnails already generated by desktop file managers (Dolphin/Nautilus/GNOME Videos) from the freedesktop thumbnail cache, falls back to `ffprobe` metadata, then `file --brief`.
- Adds `mpv`/`vlc` as `opt`-tier entries in the fish-deps catalog.
- Adds completions for `-p/--player` and `-h/--help`.
## Test plan
- [x] `fish -n` syntax check on all new/changed files
- [x] fish-deps catalog arrays verified aligned (32 entries each)
- [x] `fd` extension filtering verified against a mixed test directory (media files only, recursive, non-media excluded)
- [x] `_fzf_preview_media` verified: missing-file path, and fallback-to-`file` path when no thumbnail cache entry exists
- [x] `play-media --help` output
- [x] Player resolution verified for all branches: invalid `--player` error, valid `--player`, `$play_media_player` override, `xdg-mime` fallthrough to built-in list, and the no-player-found error path
- [x] Manual interactive run in a real terminal
Fuzzy-filters audio/video files under the current directory via fd,
previews them with thumbnails pulled from the freedesktop thumbnail
cache (or ffprobe metadata as a fallback), and plays the selection
through the best available player: --player flag, $play_media_player,
xdg-mime default, then a short mpv/vlc fallback list. Adds mpv/vlc as
optional fish-deps entries.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
play-mediacommand: fzf multi-picker over audio/video files under the current directory (extension-filtered viafd), plays the selection(s) through the best available player.-p/--playerflag →$play_media_playervar →xdg-mimedefault handler → built-in fallback list (mpv,vlc). Launches backgrounded, mirroringopen-url._fzf_preview_mediapreview helper: reuses thumbnails already generated by desktop file managers (Dolphin/Nautilus/GNOME Videos) from the freedesktop thumbnail cache, falls back toffprobemetadata, thenfile --brief.mpv/vlcasopt-tier entries in the fish-deps catalog.-p/--playerand-h/--help.Test plan
fish -nsyntax check on all new/changed filesfdextension filtering verified against a mixed test directory (media files only, recursive, non-media excluded)_fzf_preview_mediaverified: missing-file path, and fallback-to-filepath when no thumbnail cache entry existsplay-media --helpoutput--playererror, valid--player,$play_media_playeroverride,xdg-mimefallthrough to built-in list, and the no-player-found error path