mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-31 07:04:04 +00:00 
			
		
		
		
	Fix packaging and Use parameterized names for zsh completion
This commit is contained in:
		
							
								
								
									
										93
									
								
								assets/completions/bat.zsh.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								assets/completions/bat.zsh.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,93 @@ | ||||
| #compdef {{PROJECT_EXECUTABLE}} | ||||
|  | ||||
| local context state state_descr line | ||||
| typeset -A opt_args | ||||
|  | ||||
| (( $+functions[_cache_subcommand] )) || | ||||
| _cache_subcommand() { | ||||
|     local -a args | ||||
|     args=( | ||||
|         '(-b --build -c --clear)'{-b,--build}'[Initialize or update the syntax/theme cache]' | ||||
|         '(-b --build -c --clear)'{-c,--clear}'[Remove the cached syntax definitions and themes]' | ||||
|         '(--source)'--source='[Use a different directory to load syntaxes and themes from]:directory:_files -/' | ||||
|         '(--target)'--target='[Use a different directory to store the cached syntax and theme set]:directory:_files -/' | ||||
|         '(--blank)'--blank'[Create completely new syntax and theme sets]' | ||||
|         '(: -)'{-h,--help}'[Prints help information]' | ||||
|         '*: :' | ||||
|     ) | ||||
|  | ||||
|     _arguments -S -s $args | ||||
| } | ||||
|  | ||||
| (( $+functions[_main] )) || | ||||
| _main() { | ||||
|     local -a args | ||||
|     args=( | ||||
|         '(-A --show-all)'{-A,--show-all}'[Show non-printable characters (space, tab, newline, ..)]' | ||||
|         {-p,--plain}'[Show plain style (alias for `--style=plain`)]:When `-p` is used twice (`-pp`), it also disables automatic paging (alias for `--style=plain --paging=never`)' | ||||
|         '(-l --language)'{-l+,--language=}'[Set the language for syntax highlighting]:<language>:->language' | ||||
|         '(-H --highlight-line)'{-H,--highlight-line}'[Highlight lines N through M]:<N\:M>...' | ||||
|         '(--file-name)'--file-name'[Specify the name to display for a file]:<name>...:_files' | ||||
|         '(-d --diff)'--diff'[Only show lines that have been added/removed/modified]' | ||||
|         '(--diff-context)'--diff-context'[Include N lines of context around added/removed/modified lines when using `--diff`]:<N> (lines):()' | ||||
|         '(--tabs)'--tabs'[Set the tab width to T spaces]:<T> (tab width):()' | ||||
|         '(--wrap)'--wrap='[Specify the text-wrapping mode]:<when>:(auto never character)' | ||||
|         '(--terminal-width)'--terminal-width'[Explicitly set the width of the terminal instead of determining it automatically]:<width>' | ||||
|         '(-n --number)'{-n,--number}'[Show line numbers]' | ||||
|         '(--color)'--color='[When to use colors]:<when>:(auto never always)' | ||||
|         '(--italic-text)'--italic-text='[Use italics in output]:<when>:(always never)' | ||||
|         '(--decorations)'--decorations='[When to show the decorations]:<when>:(auto never always)' | ||||
|         '(--paging)'--paging='[Specify when to use the pager]:<when>:(auto never always)' | ||||
|         '(-m --map-syntax)'{-m+,--map-syntax=}'[Use the specified syntax for files matching the glob pattern]:<glob\:syntax>...' | ||||
|         '(--theme)'--theme='[Set the color theme for syntax highlighting]:<theme>:->theme' | ||||
|         '(: --list-themes --list-languages -L)'--list-themes'[Display all supported highlighting themes]' | ||||
|         '(--style)'--style='[Comma-separated list of style elements to display]:<components>:->style' | ||||
|         '(-r --line-range)'{-r+,--line-range=}'[Only print the lines from N to M]:<N\:M>...' | ||||
|         '(: --list-themes --list-languages -L)'{-L,--list-languages}'[Display all supported languages]' | ||||
|         '(: -)'{-h,--help}'[Print this help message]' | ||||
|         '(: -)'{-V,--version}'[Show version information]' | ||||
|         '*: :_files' | ||||
|     ) | ||||
|  | ||||
|     _arguments -S -s $args | ||||
|  | ||||
|     case "$state" in  | ||||
|         language) | ||||
|             local IFS=$'\n' | ||||
|             local -a languages | ||||
|             languages=( $({{PROJECT_EXECUTABLE}} --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') ) | ||||
|  | ||||
|             _describe 'language' languages  | ||||
|         ;; | ||||
|  | ||||
|         theme) | ||||
|             local IFS=$'\n' | ||||
|             local -a themes | ||||
|             themes=( $({{PROJECT_EXECUTABLE}} --list-themes | sort) ) | ||||
|  | ||||
|             _values 'theme' $themes | ||||
|         ;; | ||||
|  | ||||
|         style) | ||||
|             _values -s , 'style' auto full plain changes header grid numbers snip | ||||
|         ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| # first positional argument | ||||
| if (( ${#words} == 2 )); then | ||||
|     local -a subcommands | ||||
|     subcommands=('cache:Modify the syntax-definition and theme cache') | ||||
|     _describe subcommand subcommands | ||||
|     _main | ||||
| else | ||||
|     case $words[2] in | ||||
|         cache) | ||||
|             _cache_subcommand | ||||
|         ;; | ||||
|  | ||||
|         *) | ||||
|             _main | ||||
|         ;; | ||||
|     esac | ||||
| fi | ||||
		Reference in New Issue
	
	Block a user