mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	adding a proper bash-completion generation
This commit is contained in:
		
							
								
								
									
										22
									
								
								devscripts/bash_completion.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								devscripts/bash_completion.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| #!/usr/bin/env python2 | ||||
| import youtube_dl | ||||
|  | ||||
| BASH_COMPLETION_FILE = "youtube-dl.bash_completion" | ||||
| BASH_COMPLETION_TEMPLATE = "devscripts/bash_completion.template" | ||||
|  | ||||
| def build_completion(opt_parser): | ||||
|     opts_flag = [] | ||||
|     for group in opt_parser.option_groups: | ||||
|         for option in group.option_list: | ||||
|             #for every long flag | ||||
|             opts_flag.append(option.get_opt_string()) | ||||
|     with open(BASH_COMPLETION_TEMPLATE) as f: | ||||
|         template = f.read() | ||||
|     with open(BASH_COMPLETION_FILE, "w") as f: | ||||
|         #just using the special char | ||||
|         print opts_flag | ||||
|         filled_template = template.replace("{{flags}}", " ".join(opts_flag)) | ||||
|         f.write(filled_template) | ||||
|  | ||||
| parser = youtube_dl.parseOpts()[0] | ||||
| build_completion(parser) | ||||
							
								
								
									
										14
									
								
								devscripts/bash_completion.template
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								devscripts/bash_completion.template
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| __youtube-dl() | ||||
| { | ||||
|     local cur prev opts | ||||
|     COMPREPLY=() | ||||
|     cur="${COMP_WORDS[COMP_CWORD]}" | ||||
|     opts="{{flags}}" | ||||
|  | ||||
|     if [[ ${cur} == * ]] ; then | ||||
|         COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) | ||||
|         return 0 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| complete -F __youtube-dl youtube-dl | ||||
		Reference in New Issue
	
	Block a user
	 gcmalloc
					gcmalloc