Files
playerctl/data/playerctl.bash

62 lines
991 B
Bash

#!/usr/bin/env bash
_playerctl_completions() {
local cur="${COMP_WORDS[$COMP_CWORD]}"
local prev="${COMP_WORDS[$COMP_CWORD - 1]}"
local root_words="
play
pause
play-pause
stop
next
previous
position
volume
status
metadata
open
loop
shuffle
-h --help
-p --player=
-a --all-players
-i --ignore-player=
-f --format
-F --follow
-l --list-all
-v --version"
case $prev in
loop)
COMPREPLY=($(compgen -W "none track playlist" -- "$cur"))
return 0
;;
shuffle)
COMPREPLY=($(compgen -W "on off" -- "$cur"))
return 0
;;
-p|--player=|-i|--ignore-player=)
COMPREPLY=($(compgen -W "$(playerctl --list-all)" -- "$cur"))
return 0
;;
-f|--format)
COMPREPLY=()
return 0
;;
open)
compopt -o default
COMPREPLY=()
;;
position|volume|metadata)
COMPREPLY=()
return 0
;;
*)
COMPREPLY=($(compgen -W "$root_words" -- "$cur"))
return 0
;;
esac
}
complete -F _playerctl_completions playerctl