mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	feat(watson): add completion (#10886)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
This commit is contained in:
		
							
								
								
									
										9
									
								
								plugins/watson/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								plugins/watson/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
# Watson
 | 
			
		||||
 | 
			
		||||
This plugin provides completion for [Watson](https://tailordev.github.io/Watson/).
 | 
			
		||||
 | 
			
		||||
To use it add `watson` to the plugins array in your zshrc file.
 | 
			
		||||
 | 
			
		||||
```zsh
 | 
			
		||||
plugins=(... watson)
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										34
									
								
								plugins/watson/_watson
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								plugins/watson/_watson
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
#compdef watson
 | 
			
		||||
 | 
			
		||||
_watson_completion() {
 | 
			
		||||
    local -a completions
 | 
			
		||||
    local -a completions_with_descriptions
 | 
			
		||||
    local -a response
 | 
			
		||||
    (( ! $+commands[watson] )) && return 1
 | 
			
		||||
 | 
			
		||||
    response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) _WATSON_COMPLETE=zsh_complete watson)}")
 | 
			
		||||
 | 
			
		||||
    for type key descr in ${response}; do
 | 
			
		||||
        if [[ "$type" == "plain" ]]; then
 | 
			
		||||
            if [[ "$descr" == "_" ]]; then
 | 
			
		||||
                completions+=("$key")
 | 
			
		||||
            else
 | 
			
		||||
                completions_with_descriptions+=("$key":"$descr")
 | 
			
		||||
            fi
 | 
			
		||||
        elif [[ "$type" == "dir" ]]; then
 | 
			
		||||
            _path_files -/
 | 
			
		||||
        elif [[ "$type" == "file" ]]; then
 | 
			
		||||
            _path_files -f
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    if [ -n "$completions_with_descriptions" ]; then
 | 
			
		||||
        _describe -V unsorted completions_with_descriptions -U
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ -n "$completions" ]; then
 | 
			
		||||
        compadd -U -V unsorted -a completions
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
compdef _watson_completion watson;
 | 
			
		||||
		Reference in New Issue
	
	Block a user