30 lines
832 B
Plaintext
30 lines
832 B
Plaintext
__yt_dlp()
|
|
{
|
|
local cur prev opts fileopts diropts keywords
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
opts="{{flags}}"
|
|
keywords=":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater :ythistory"
|
|
fileopts="-a|--batch-file|--download-archive|--cookies|--load-info"
|
|
diropts="--cache-dir"
|
|
|
|
if [[ ${prev} =~ ${fileopts} ]]; then
|
|
COMPREPLY=( $(compgen -f -- ${cur}) )
|
|
return 0
|
|
elif [[ ${prev} =~ ${diropts} ]]; then
|
|
COMPREPLY=( $(compgen -d -- ${cur}) )
|
|
return 0
|
|
fi
|
|
|
|
if [[ ${cur} =~ : ]]; then
|
|
COMPREPLY=( $(compgen -W "${keywords}" -- ${cur}) )
|
|
return 0
|
|
elif [[ ${cur} == * ]] ; then
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
complete -F __yt_dlp yt-dlp
|