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 |