aboutsummaryrefslogtreecommitdiff
path: root/devscripts/zsh-completion.in
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-10-12 23:30:17 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2014-10-12 23:30:17 +0200
commit72ebb5e4b4756a05f37ffcd0efaaf5c07ffc1fd1 (patch)
treef01d47bd049172708d9d917b71d570fce13df482 /devscripts/zsh-completion.in
parent8450c15c251f65f72d659bf56fae386e877ab66a (diff)
parent24f7fb5e1e2fb1e70f553decf07d14892f87b419 (diff)
Merge remote-tracking branch 'xu-cheng/zsh-completion'
Diffstat (limited to 'devscripts/zsh-completion.in')
-rw-r--r--devscripts/zsh-completion.in28
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