aboutsummaryrefslogtreecommitdiffstats
path: root/completions/rsp.fish
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-05-07 16:16:01 +0200
committersalmonik <raisersoft@proton.me>2026-05-07 16:16:01 +0200
commit03f4585424d05dd50022759c7ad098fe06277f6e (patch)
tree8b6e8a829afbfa949f7a55eaf5620ea99b17bf40 /completions/rsp.fish
parentAdd toggle command to resume/pause playback and fix queue display bug (diff)
downloadrsplayer-03f4585424d05dd50022759c7ad098fe06277f6e.tar.gz
rsplayer-03f4585424d05dd50022759c7ad098fe06277f6e.zip
Fix queue bugs: play -i on empty queue, stale track replay after queue ends, shuffle preserving current position
- insert_after_current: guard against panic on empty queue - play -i (now): skip position increment when queue was empty so track plays - directory last: use audio.is_playing() instead of q.current() to avoid replaying finished track - shuffle: only randomize tracks after current position
Diffstat (limited to 'completions/rsp.fish')
-rw-r--r--completions/rsp.fish114
1 files changed, 106 insertions, 8 deletions
diff --git a/completions/rsp.fish b/completions/rsp.fish
index 4f44f63..d0e391d 100644
--- a/completions/rsp.fish
+++ b/completions/rsp.fish
@@ -1,11 +1,109 @@
1# rsp fish completion 1# Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
2function __fish_rsp_global_optspecs
3 string join \n h/help
4end
2 5
3complete -c rsp -n '__fish_use_subcommand' -a 'start stop restart play pause resume toggle next previous volume shuffle queue status scan settings' -d 'Command' 6function __fish_rsp_needs_command
7 # Figure out if the current invocation already has a command.
8 set -l cmd (commandline -opc)
9 set -e cmd[1]
10 argparse -s (__fish_rsp_global_optspecs) -- $cmd 2>/dev/null
11 or return
12 if set -q argv[1]
13 # Also print the command, so this can be used to figure out what it is.
14 echo $argv[1]
15 return 1
16 end
17 return 0
18end
4 19
5complete -c rsp -n '__fish_seen_subcommand_from play' -f -d 'Audio file or directory' 20function __fish_rsp_using_subcommand
21 set -l cmd (__fish_rsp_needs_command)
22 test -z "$cmd"
23 and return 1
24 contains -- $cmd[1] $argv
25end
6 26
7complete -c rsp -n '__fish_seen_subcommand_from volume' -a '0 10 20 30 40 50 60 70 80 90 100' -d 'Volume level' 27complete -c rsp -n "__fish_rsp_needs_command" -s h -l help -d 'Print help'
8 28complete -c rsp -n "__fish_rsp_needs_command" -f -a "start" -d 'Start the daemon'
9complete -c rsp -n '__fish_seen_subcommand_from shuffle' -a 'on off album' -d 'Shuffle mode' 29complete -c rsp -n "__fish_rsp_needs_command" -f -a "stop" -d 'Stop the daemon'
10 30complete -c rsp -n "__fish_rsp_needs_command" -f -a "restart" -d 'Restart the daemon (kill existing and start new)'
11complete -c rsp -n '__fish_seen_subcommand_from settings' -a 'get set list unset' -d 'Settings command' 31complete -c rsp -n "__fish_rsp_needs_command" -f -a "play" -d 'Play a track, album, or artist'
32complete -c rsp -n "__fish_rsp_needs_command" -f -a "pause" -d 'Pause playback'
33complete -c rsp -n "__fish_rsp_needs_command" -f -a "resume" -d 'Resume playback'
34complete -c rsp -n "__fish_rsp_needs_command" -f -a "toggle" -d 'Toggle play/pause'
35complete -c rsp -n "__fish_rsp_needs_command" -f -a "stop-playback" -d 'Stop playback'
36complete -c rsp -n "__fish_rsp_needs_command" -f -a "next" -d 'Skip to next track'
37complete -c rsp -n "__fish_rsp_needs_command" -f -a "previous" -d 'Skip to previous track'
38complete -c rsp -n "__fish_rsp_needs_command" -f -a "volume" -d 'Set volume (0-100)'
39complete -c rsp -n "__fish_rsp_needs_command" -f -a "shuffle" -d 'Shuffle mode'
40complete -c rsp -n "__fish_rsp_needs_command" -f -a "queue" -d 'Queue management'
41complete -c rsp -n "__fish_rsp_needs_command" -f -a "status" -d 'Show player status'
42complete -c rsp -n "__fish_rsp_needs_command" -f -a "scan" -d 'Scan music paths to populate database'
43complete -c rsp -n "__fish_rsp_needs_command" -f -a "settings" -d 'Settings management'
44complete -c rsp -n "__fish_rsp_needs_command" -f -a "completions" -d 'Generate shell completions and write to completions/ directory (bash, elvish, fish, powershell, zsh)'
45complete -c rsp -n "__fish_rsp_needs_command" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
46complete -c rsp -n "__fish_rsp_using_subcommand start" -s h -l help -d 'Print help'
47complete -c rsp -n "__fish_rsp_using_subcommand stop" -s h -l help -d 'Print help'
48complete -c rsp -n "__fish_rsp_using_subcommand restart" -s h -l help -d 'Print help'
49complete -c rsp -n "__fish_rsp_using_subcommand play" -s i -l now -d 'Play immediately (add after current and skip to it)'
50complete -c rsp -n "__fish_rsp_using_subcommand play" -s n -l next -d 'Add to queue after current track (don\'t skip)'
51complete -c rsp -n "__fish_rsp_using_subcommand play" -s l -l last -d 'Add to end of queue (default)'
52complete -c rsp -n "__fish_rsp_using_subcommand play" -s L -l list -d 'List available artists/albums'
53complete -c rsp -n "__fish_rsp_using_subcommand play" -s h -l help -d 'Print help'
54complete -c rsp -n "__fish_rsp_using_subcommand pause" -s h -l help -d 'Print help'
55complete -c rsp -n "__fish_rsp_using_subcommand resume" -s h -l help -d 'Print help'
56complete -c rsp -n "__fish_rsp_using_subcommand toggle" -s h -l help -d 'Print help'
57complete -c rsp -n "__fish_rsp_using_subcommand stop-playback" -s h -l help -d 'Print help'
58complete -c rsp -n "__fish_rsp_using_subcommand next" -s h -l help -d 'Print help'
59complete -c rsp -n "__fish_rsp_using_subcommand previous" -s h -l help -d 'Print help'
60complete -c rsp -n "__fish_rsp_using_subcommand volume" -s h -l help -d 'Print help'
61complete -c rsp -n "__fish_rsp_using_subcommand shuffle" -s h -l help -d 'Print help'
62complete -c rsp -n "__fish_rsp_using_subcommand queue" -s h -l help -d 'Print help'
63complete -c rsp -n "__fish_rsp_using_subcommand status" -s h -l help -d 'Print help'
64complete -c rsp -n "__fish_rsp_using_subcommand scan" -l paths -r -F
65complete -c rsp -n "__fish_rsp_using_subcommand scan" -l force
66complete -c rsp -n "__fish_rsp_using_subcommand scan" -s h -l help -d 'Print help'
67complete -c rsp -n "__fish_rsp_using_subcommand settings; and not __fish_seen_subcommand_from get set list unset help" -s h -l help -d 'Print help'
68complete -c rsp -n "__fish_rsp_using_subcommand settings; and not __fish_seen_subcommand_from get set list unset help" -f -a "get" -d 'Get a setting value'
69complete -c rsp -n "__fish_rsp_using_subcommand settings; and not __fish_seen_subcommand_from get set list unset help" -f -a "set" -d 'Set a setting value'
70complete -c rsp -n "__fish_rsp_using_subcommand settings; and not __fish_seen_subcommand_from get set list unset help" -f -a "list" -d 'List all settings'
71complete -c rsp -n "__fish_rsp_using_subcommand settings; and not __fish_seen_subcommand_from get set list unset help" -f -a "unset" -d 'Unset a setting'
72complete -c rsp -n "__fish_rsp_using_subcommand settings; and not __fish_seen_subcommand_from get set list unset help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
73complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from get" -s h -l help -d 'Print help'
74complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from set" -s h -l help -d 'Print help'
75complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
76complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from unset" -s h -l help -d 'Print help'
77complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from help" -f -a "get" -d 'Get a setting value'
78complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from help" -f -a "set" -d 'Set a setting value'
79complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from help" -f -a "list" -d 'List all settings'
80complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from help" -f -a "unset" -d 'Unset a setting'
81complete -c rsp -n "__fish_rsp_using_subcommand settings; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
82complete -c rsp -n "__fish_rsp_using_subcommand completions" -l shell -d 'Also print to stdout for a specific shell' -r -f -a "bash\t''
83elvish\t''
84fish\t''
85powershell\t''
86zsh\t''"
87complete -c rsp -n "__fish_rsp_using_subcommand completions" -s h -l help -d 'Print help'
88complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "start" -d 'Start the daemon'
89complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "stop" -d 'Stop the daemon'
90complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "restart" -d 'Restart the daemon (kill existing and start new)'
91complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "play" -d 'Play a track, album, or artist'
92complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "pause" -d 'Pause playback'
93complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "resume" -d 'Resume playback'
94complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "toggle" -d 'Toggle play/pause'
95complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "stop-playback" -d 'Stop playback'
96complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "next" -d 'Skip to next track'
97complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "previous" -d 'Skip to previous track'
98complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "volume" -d 'Set volume (0-100)'
99complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "shuffle" -d 'Shuffle mode'
100complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "queue" -d 'Queue management'
101complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "status" -d 'Show player status'
102complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "scan" -d 'Scan music paths to populate database'
103complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "settings" -d 'Settings management'
104complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "completions" -d 'Generate shell completions and write to completions/ directory (bash, elvish, fish, powershell, zsh)'
105complete -c rsp -n "__fish_rsp_using_subcommand help; and not __fish_seen_subcommand_from start stop restart play pause resume toggle stop-playback next previous volume shuffle queue status scan settings completions help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
106complete -c rsp -n "__fish_rsp_using_subcommand help; and __fish_seen_subcommand_from settings" -f -a "get" -d 'Get a setting value'
107complete -c rsp -n "__fish_rsp_using_subcommand help; and __fish_seen_subcommand_from settings" -f -a "set" -d 'Set a setting value'
108complete -c rsp -n "__fish_rsp_using_subcommand help; and __fish_seen_subcommand_from settings" -f -a "list" -d 'List all settings'
109complete -c rsp -n "__fish_rsp_using_subcommand help; and __fish_seen_subcommand_from settings" -f -a "unset" -d 'Unset a setting'