diff options
author | Jaime Marquínez Ferrándiz <[email protected]> | 2013-11-27 00:41:30 +0100 |
---|---|---|
committer | Jaime Marquínez Ferrándiz <[email protected]> | 2013-11-27 00:41:30 +0100 |
commit | c1f9c59d11c0a96be7caa0b4c6e90d900e3161c6 (patch) | |
tree | 15ab32d3256c61ff5caa7ded2f56dab77f8ac141 | |
parent | 652cdaa269725dfbf9effdc18a8fd0b369100399 (diff) | |
download | youtube-dl-c1f9c59d11c0a96be7caa0b4c6e90d900e3161c6.tar.gz youtube-dl-c1f9c59d11c0a96be7caa0b4c6e90d900e3161c6.zip |
[bash-completion] Complete filenames or directories if the previous option requires it
-rw-r--r-- | devscripts/bash-completion.in | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/devscripts/bash-completion.in b/devscripts/bash-completion.in index ce893fcbe..cc469366d 100644 --- a/devscripts/bash-completion.in +++ b/devscripts/bash-completion.in @@ -1,10 +1,21 @@ __youtube_dl() { - local cur prev opts + local cur prev opts fileopts diropts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" opts="{{flags}}" keywords=":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater" + fileopts="-a|--batch-file|--download-archive|--cookies" + 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}) ) |