diff options
| author | Xu Cheng <xucheng@me.com> | 2014-10-06 18:58:25 +0800 | 
|---|---|---|
| committer | Xu Cheng <xucheng@me.com> | 2014-10-07 13:19:59 +0800 | 
| commit | 3b700f8d434cbf1b097324a577e4b95325b24d91 (patch) | |
| tree | cd2eeb065e02a203e9779996e07c691efbde8ca9 /devscripts/zsh-completion.in | |
| parent | d838b1bd4a256484820af7aeb0c2711934cb00ad (diff) | |
support zsh completion
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 | 
