Merge pull request #159 from mollifier/jq-completion
Add jq completion.
This commit is contained in:
		
						commit
						b6e091d7e6
					
				|  | @ -0,0 +1,78 @@ | ||||||
|  | #compdef jq | ||||||
|  | # ------------------------------------------------------------------------------ | ||||||
|  | # Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users | ||||||
|  | # All rights reserved. | ||||||
|  | # | ||||||
|  | # Redistribution and use in source and binary forms, with or without | ||||||
|  | # modification, are permitted provided that the following conditions are met: | ||||||
|  | #     * Redistributions of source code must retain the above copyright | ||||||
|  | #       notice, this list of conditions and the following disclaimer. | ||||||
|  | #     * Redistributions in binary form must reproduce the above copyright | ||||||
|  | #       notice, this list of conditions and the following disclaimer in the | ||||||
|  | #       documentation and/or other materials provided with the distribution. | ||||||
|  | #     * Neither the name of the zsh-users nor the | ||||||
|  | #       names of its contributors may be used to endorse or promote products | ||||||
|  | #       derived from this software without specific prior written permission. | ||||||
|  | # | ||||||
|  | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||||||
|  | # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||||||
|  | # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||||||
|  | # DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY | ||||||
|  | # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||||
|  | # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||||||
|  | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||||||
|  | # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||||
|  | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||||
|  | # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||||
|  | # ------------------------------------------------------------------------------ | ||||||
|  | # Description | ||||||
|  | # ----------- | ||||||
|  | # | ||||||
|  | #  Completion script for jq (http://stedolan.github.io/jq/) | ||||||
|  | # | ||||||
|  | # ------------------------------------------------------------------------------ | ||||||
|  | # Authors | ||||||
|  | # ------- | ||||||
|  | # | ||||||
|  | #  * Hideaki Miyake (https://github.com/mollifier) | ||||||
|  | # | ||||||
|  | # ------------------------------------------------------------------------------ | ||||||
|  | 
 | ||||||
|  | declare -a opts args | ||||||
|  | args=( | ||||||
|  |   '(-h --help)'{-h,--help}'[display help information]' | ||||||
|  |   '(-V --version)'{-V,--version}'[display version information]' | ||||||
|  |   '(-s --slurp)'{-s,--slurp}'[run the filter just once]' | ||||||
|  |   '(-R --raw-input)'{-R,--raw-input}'[parse the input as not JSON but string]' | ||||||
|  |   '(-n --null-input)'{-n,--null-input}'[run the filter using null as the input]' | ||||||
|  |   '(-c --compact-output)'{-c,--compact-output}'[compact output]' \ | ||||||
|  |   '(-C --color-output)'{-C,--color-output}'[colorize the output even if writing to a pipe or a file]' | ||||||
|  |   '(-M --monochrome-output)'{-M,--monochrome-output}'[not colorize the output]' | ||||||
|  |   '(-a --ascii-output)'{-a,--ascii-output}'[output with pure ASCII character]' | ||||||
|  |   '(-r --raw-output)'{-r,--raw-output}'[not format string result as a JSON string with quotes]' | ||||||
|  |   '--arg[passes a value to the jq program, e.g. --arg foo bar]:jq variable: ' | ||||||
|  |   '1: :_guard "^-*" pattern' | ||||||
|  |   '*:files:->file' | ||||||
|  | ) | ||||||
|  | local curcontext=$curcontext state line ret=1 | ||||||
|  | declare -A opt_args | ||||||
|  | 
 | ||||||
|  | _arguments -C $opts \ | ||||||
|  |   $args && ret=0 | ||||||
|  | 
 | ||||||
|  | case $state in | ||||||
|  |   file) | ||||||
|  |     _files && ret=0 | ||||||
|  |     ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | return $ret | ||||||
|  | 
 | ||||||
|  | # 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 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue