You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
844 B
29 lines
844 B
__youtube_dl() |
|
{ |
|
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 __youtube_dl youtube-dl
|
|
|