This commit is contained in:
2026-03-29 14:01:52 +03:00
commit 0611279128
210 changed files with 60454 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
# bash completion for cmus-remote and cmus
_cmus-remote()
{
local cur prev longopts shortopts
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# maybe we'll differentiate between $cur starting with - or --
longopts="--server --passwd --help --version --play --pause --stop
--next --prev --file --repeat --shuffle --volume --seek
--library --playlist --queue --clear --raw"
shortopts="-p -u -s -n -r -f -R -S -v -k -Q -l -P -q -c -C"
COMPREPLY=()
case "${prev}" in
--server) # can be a hostname[:port] or a filename
compopt -o nospace
_known_hosts_real -c "${cur}"
;&
--file|-f)
_filedir
return 0
;;
--passwd) # do not attempt to complete anything
;&
--volume|-v)
;&
--seek|-k)
;&
--raw|-C)
# supporting completion for raw commands would be nice (TODO)
return 0
;;
*)
;;
esac
if [[ ${cur} == -* ]]; then
COMPREPLY=(
$(compgen -W "${shortopts[*]} ${longopts[*]}" -- ${cur})
)
else
_filedir
fi
}
_cmus()
{
local cur prev opts
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--listen --plugins --show-cursor --help --version"
COMPREPLY=()
case "${prev}" in
--listen)
compopt -o nospace
_ip_addresses
_filedir
return 0;
;;
--plugins|--help|--version)
return 0;
;;
*)
;;
esac
COMPREPLY=($(compgen -W "${opts[*]}" -- ${cur}))
}
complete -F _cmus-remote cmus-remote
complete -F _cmus cmus