X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=blobdiff_plain;f=devscripts%2Fbash-completion.in;h=28bd237278da5c0ade9ed96a4cb722c1b6973cf3;hp=3b99a96145bedc1c397f89d216b01e53ed361634;hb=6cd452acffe8d79c895a2ebd0346e2ba7f9e112f;hpb=258d5850c91e0d37a36c6bae0a25314f8149b05a diff --git a/devscripts/bash-completion.in b/devscripts/bash-completion.in index 3b99a9614..28bd23727 100644 --- a/devscripts/bash-completion.in +++ b/devscripts/bash-completion.in @@ -1,14 +1,29 @@ -__youtube-dl() +__youtube_dl() { - local cur prev opts + 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 [[ ${cur} == * ]] ; then + 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 +complete -F __youtube_dl youtube-dl