diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-11-27 00:41:30 +0100 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-11-27 00:41:30 +0100 | 
| commit | c1f9c59d11c0a96be7caa0b4c6e90d900e3161c6 (patch) | |
| tree | 15ab32d3256c61ff5caa7ded2f56dab77f8ac141 | |
| parent | 652cdaa269725dfbf9effdc18a8fd0b369100399 (diff) | |
[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}) )  | 
