82 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
| #compdef subliminal
 | |
| # ------------------------------------------------------------------------------
 | |
| # Description
 | |
| # -----------
 | |
| #
 | |
| #  Completion script for Subliminal (https://github.com/Diaoul/subliminal).
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| # Authors
 | |
| # -------
 | |
| #
 | |
| #  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
 | |
| #  * Shohei Yoshida <https://github.com/syohex>
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| 
 | |
| _subliminal() {
 | |
|   typeset -A opt_args
 | |
|   local context state line
 | |
|   local curcontext="$curcontext"
 | |
|   local ret=1
 | |
| 
 | |
|   _arguments -C \
 | |
|     '--addic7ed[Addic7ed configuration]:user name:' \
 | |
|     '--legendastv[LegendasTV configuration]:user name:' \
 | |
|     '--opensubtitles[OpenSubtitles configuration]:user name:' \
 | |
|     '--omdb[OMDB API key]:key' \
 | |
|     '--cache-dir[Path to the cache directory]: :_files -/' \
 | |
|     '--debug[Print useful information for debugging]' \
 | |
|     '(- : *)--version[show version number and exit]' \
 | |
|     '(- : *)--help[show help message and exit]' \
 | |
|     '1: :(cache download)' \
 | |
|     '*::arg:->command' \
 | |
|     && ret=0
 | |
| 
 | |
|   case "$state" in
 | |
|     (command)
 | |
|       case $words[1] in
 | |
|         (cache)
 | |
|           _arguments -C \
 | |
|            '(- *)--help[Show help message and exit]' \
 | |
|            "--clear-subliminal[Clear subliminal's cache]" \
 | |
|            '*: :_files' \
 | |
|             && ret=0
 | |
|           ;;
 | |
|         (download)
 | |
|           _arguments -C \
 | |
|             '(-l --language)'{-l,--language}'[Language as IETF code]:lang' \
 | |
|             \*{-p,--provider}'[Provider to use]: :(argenteam legendastv opensubtitles opensubtitlesvip podnapisi shooter thesubdb tvsubtit)' \
 | |
|             \*{-r,--refiner}'[Refiner to use]: :(hash metadata omdb tvdb)' \
 | |
|             '(-a --age)'{-a,--age}'[Filter videos newer than AGE]:age' \
 | |
|             '(-d --directory)'{-d,--directory}'[Directory where to save subtitles]: :_files -/' \
 | |
|             '(-e --encoding)'{-e,--encoding}'[Subtitle file encoding]:encoding' \
 | |
|             '(-s --single)'{-s,--single}'[Save subtitle without language code in the file name]' \
 | |
|             '(-f --force)'{-f,--force}'[Force download even if a subtitle already exist]' \
 | |
|             '(-hi,--hearing-impaired)'{-hi,--hearing-impaired}'[Prefer hearing impaired subtitles]' \
 | |
|             '(-m --min-score)'{-m,--min-score}'[Minimum score for a subtitle to be downloaded]:integer range:' \
 | |
|             '(-w --max-worked)'{-w,--max-workers}'[Maximum number of threads to use]:integer range:' \
 | |
|             '(-z --archives -Z --no-archives)'{-z,--archives}'[Scan archives for videos]' \
 | |
|             '(-z --archives -Z --no-archives)'{-Z,--no-archives}'[Scan archives for videos]' \
 | |
|             '--verbose[Increase verbosity]' \
 | |
|             '(- *)--help[Show help message and exit]' \
 | |
|             '*: :_files' \
 | |
|             && ret=0
 | |
|           ;;
 | |
|       esac
 | |
|       ;;
 | |
|   esac
 | |
| 
 | |
|   return ret
 | |
| }
 | |
| 
 | |
| _subliminal "$@"
 | |
| 
 | |
| # Local Variables:
 | |
| # mode: Shell-Script
 | |
| # sh-indentation: 2
 | |
| # indent-tabs-mode: nil
 | |
| # sh-basic-offset: 2
 | |
| # End:
 | |
| # vim: ft=zsh sw=2 ts=2 et
 |