aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-11-27 00:41:30 +0100
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-11-27 00:41:30 +0100
commitc1f9c59d11c0a96be7caa0b4c6e90d900e3161c6 (patch)
tree15ab32d3256c61ff5caa7ded2f56dab77f8ac141
parent652cdaa269725dfbf9effdc18a8fd0b369100399 (diff)
[bash-completion] Complete filenames or directories if the previous option requires it
-rw-r--r--devscripts/bash-completion.in13
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}) )