30 lines
		
	
	
		
			844 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			844 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| __youtube_dl()
 | |
| {
 | |
|     local cur prev opts fileopts diropts keywords
 | |
|     COMPREPLY=()
 | |
|     cur="${COMP_WORDS[COMP_CWORD]}"
 | |
|     prev="${COMP_WORDS[COMP_CWORD-1]}"
 | |
|     opts="{{flags}}"
 | |
|     keywords=":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater :ythistory"
 | |
|     fileopts="-a|--batch-file|--download-archive|--cookies|--load-info"
 | |
|     diropts="--cache-dir"
 | |
| 
 | |
|     if [[ ${prev} =~ ${fileopts} ]]; then
 | |
|         COMPREPLY=( $(compgen -f -- ${cur}) )
 | |
|         return 0
 | |
|     elif [[ ${prev} =~ ${diropts} ]]; then
 | |
|         COMPREPLY=( $(compgen -d -- ${cur}) )
 | |
|         return 0
 | |
|     fi
 | |
| 
 | |
|     if [[ ${cur} =~ : ]]; then
 | |
|         COMPREPLY=( $(compgen -W "${keywords}" -- ${cur}) )
 | |
|         return 0
 | |
|     elif [[ ${cur} == * ]] ; then
 | |
|         COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 | |
|         return 0
 | |
|     fi
 | |
| }
 | |
| 
 | |
| complete -F __youtube_dl youtube-dl
 |