summaryrefslogtreecommitdiff
path: root/etc/completions/_youtube-dl
blob: e30f678182dc9083774e846b9c480cf27d213809 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#compdef youtube-dl
## completion for youtube-dl v2011.08.04, based on youtube-dl(1)

function _youtube-dl_format {
	typeset -a formats
	formats=(
		'43:WebM at 480p'
		'45:WebM at 720p'
		'18:H264 in MP4 at 480p'
		'22:H264 in MP4 at 720p'
		'37:H264 in MP4 at 1080p'
		'34:H264 in FLV at 360p'
		'35:H264 in FLV at 480p'
		'5:H263 at 240P'
		'17:3GP'
	)
	_describe 'video format' formats
}

function _youtube-dl {
	_arguments \
	'(- *)'{-h,--help}'[show help]' \
	'(- *)'{-v,--version}'[show version]' \
	'(-U --update)'{-U,--update}'[update youtube-dl]' \
	'(-i --ignore-errors)'{-i,--ignore-errors}'[ignore errors during download]' \
	'(-r --rate-limit)'{-r,--rate-limit}'[limit download speed]:speed with suffix' \
	'(-R --retries)'{-R,--retries}'[maximum retries for download]:number' \
	'--playlist-start[number of video in playlist to start with]:number' \
	'--playlist-end[number of video in playlist to stop with]:number' \
	'--dump-user-agent[show youtube-dl User-Agent]' \
	'(-u --username)'{-u,--username}'[set youtube account name]:username' \
	'(-p --password)'{-p,--password}'[set youtube account password]:password' \
	'(-n --netrc)'{-n,--netrc}'[read authentication data from .netrc]' \
	'(-f --format)'{-f,--format}'[set video quality to download]: :_youtube-dl_format' \
	'--all-formats[download all available formats]' \
	'--max-quality[set maximum video quality to download]: :_youtube-dl_format' \
	'(-q --quiet)'{-q,--quiet}'[quiet mode]' \
	'(-s --simulate)'{-s,--simulate}'[simulate operation, do not download anything]' \
	'(-g --get-url)'{-g,--get-url}'[only show URL that would be downloaded]' \
	'--get-thumbnail[only show thumbnail URL]' \
	'--get-description[only show video description]' \
	'--get-filename[only show output filename]' \
	'--no-prograss[do not print progress bar]' \
	'--console-title[try to show download progress in terminal title]' \
	'(-t --title)'{-t,--title}'[use the video title in the output filename]' \
	'(-l --literal)'{-l,--literal}'[use literal video title in the output filename]' \
	'(-A --auto-number)'{-A,--auto-number}'[automatically number videos downloaded from a playlist]' \
	'(-o --output)'{-o,--output}'[set template for output filenames]:output template' \
	'(-a --batch-file)'{-a,--batch-file}'[read video URLs from file]:file:_files' \
	'(-w --no-overwrites)'{-w,--no-overwrites}'[do not overwrite existing files]' \
	'(-c --continue)'{-c,--continue}'[resume partial downloads]' \
	'--cokies[set cookie jar file]:cookie jar file:_files' \
	'--no-part[do not append .part to incomplete downloads]' \
	'--no-mtime[do not set mtime based on Last-modified header]' \
	'--extract-audio[extract audio from video download]' \
	'--audio-format[set extraction audio format]:format:(best aac mp3)' \
	'*:video url'
}

_youtube-dl "$@"