diff options
Diffstat (limited to 'devscripts/zsh-completion.in')
| -rw-r--r-- | devscripts/zsh-completion.in | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/devscripts/zsh-completion.in b/devscripts/zsh-completion.in new file mode 100644 index 000000000..b394a1ae7 --- /dev/null +++ b/devscripts/zsh-completion.in @@ -0,0 +1,28 @@ +#compdef youtube-dl + +__youtube_dl() { +    local curcontext="$curcontext" fileopts diropts cur prev +    typeset -A opt_args +    fileopts="{{fileopts}}" +    diropts="{{diropts}}" +    cur=$words[CURRENT] +    case $cur in +        :) +            _arguments '*: :(::ytfavorites ::ytrecommended ::ytsubscriptions ::ytwatchlater ::ythistory)' +        ;; +        *) +            prev=$words[CURRENT-1] +            if [[ ${prev} =~ ${fileopts} ]]; then +                _path_files +            elif [[ ${prev} =~ ${diropts} ]]; then +                _path_files -/ +            elif [[ ${prev} == "--recode-video" ]]; then +                _arguments '*: :(mp4 flv ogg webm mkv)' +            else +                _arguments '*: :({{flags}})' +            fi +        ;; +    esac +} + +__youtube_dl
\ No newline at end of file | 
