mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#compdef gb
 | 
						|
#autoload
 | 
						|
 | 
						|
_gb () {
 | 
						|
	local ret=1 state
 | 
						|
	_arguments -C ':command:->command' '*::options:->options' && ret=0
 | 
						|
 | 
						|
	case $state in
 | 
						|
	(command)
 | 
						|
		local -a subcommands
 | 
						|
		subcommands=(
 | 
						|
			"build:build a package"
 | 
						|
			"doc:show documentation for a package or symbol"
 | 
						|
			"env:print project environment variables"
 | 
						|
			"generate:generate Go files by processing source"
 | 
						|
			"help:displays the help"
 | 
						|
			"info:info returns information about this project"
 | 
						|
			"list:list the packages named by the importpaths"
 | 
						|
			"test:test packages"
 | 
						|
			"vendor:manage your vendored dependencies"
 | 
						|
		)
 | 
						|
		_describe -t subcommands 'gb subcommands' subcommands && ret=0
 | 
						|
		;;
 | 
						|
	(options)
 | 
						|
		case $line[1] in
 | 
						|
		(build)
 | 
						|
			_arguments \
 | 
						|
				-f'[ignore cached packages]' \
 | 
						|
				-F'[do not cache packages]' \
 | 
						|
				-q'[decreases verbosity]' \
 | 
						|
				-P'[the number of build jobs to run in parallel]' \
 | 
						|
				-R'[sets the base of the project root search path]' \
 | 
						|
				-dotfile'[output a dot formatted file of the build steps]' \
 | 
						|
				-ldflags'["flag list" arguments to pass to the linker]' \
 | 
						|
				-gcflags'["arg list" arguments to pass to the compiler]' \
 | 
						|
				-race'[enable data race detection]' \
 | 
						|
				-tags'["tag list" additional build tags]'
 | 
						|
			;;
 | 
						|
		(list)
 | 
						|
			_arguments \
 | 
						|
				-f'[alternate format for the list, using the syntax of package template]' \
 | 
						|
				-s'[read format template from STDIN]' \
 | 
						|
				-json'[prints output in structured JSON format]'
 | 
						|
			;;
 | 
						|
		(test)
 | 
						|
			_arguments \
 | 
						|
				-v'[print output from test subprocess]' \
 | 
						|
				-ldflags'["flag list" arguments to pass to the linker]' \
 | 
						|
				-gcflags'["arg list" arguments to pass to the compiler]' \
 | 
						|
				-race'[enable data race detection]' \
 | 
						|
				-tags'["tag list" additional build tags]'
 | 
						|
			;;
 | 
						|
		(vendor)
 | 
						|
			_gb-vendor
 | 
						|
		esac
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
 | 
						|
	return ret
 | 
						|
}
 | 
						|
 | 
						|
_gb-vendor () {
 | 
						|
	local curcontext="$curcontext" state line
 | 
						|
	_arguments -C ':command:->command' '*::options:->options'
 | 
						|
 | 
						|
	case $state in
 | 
						|
	(command)
 | 
						|
		local -a subcommands
 | 
						|
		subcommands=(
 | 
						|
			'delete:deletes a local dependency'
 | 
						|
			'fetch:fetch a remote dependency'
 | 
						|
			'list:lists dependencies, one per line'
 | 
						|
			'purge:remove all unreferenced dependencies'
 | 
						|
			'restore:restore dependencies from the manifest'
 | 
						|
			'update:update a local dependency'
 | 
						|
		)
 | 
						|
		_describe -t subcommands 'gb vendor subcommands' subcommands && ret=0
 | 
						|
		;;
 | 
						|
	(options)
 | 
						|
		case $line[1] in
 | 
						|
			(delete)
 | 
						|
				_arguments \
 | 
						|
					-all'[remove all dependencies]'
 | 
						|
				;;
 | 
						|
			(fetch)
 | 
						|
				_arguments \
 | 
						|
					-branch'[fetch from a particular branch]' \
 | 
						|
					-no-recurse'[do not fetch recursively]' \
 | 
						|
					-tag'[fetch the specified tag]' \
 | 
						|
					-revision'[fetch the specific revision from the branch (if supplied)]' \
 | 
						|
					-precaire'[allow the use of insecure protocols]' \
 | 
						|
				;;
 | 
						|
			(list)
 | 
						|
				_arguments \
 | 
						|
					-f'[controls the template used for printing each manifest entry]'
 | 
						|
				;;
 | 
						|
			(restore)
 | 
						|
				_arguments \
 | 
						|
					-precaire'[allow the use of insecure protocols]'
 | 
						|
				;;
 | 
						|
			(update)
 | 
						|
				_arguments \
 | 
						|
					-all'[update all dependencies in the manifest or supply a given dependency]' \
 | 
						|
					-precaire'[allow the use of insecure protocols]'
 | 
						|
				;;
 | 
						|
		esac
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
}
 | 
						|
 | 
						|
_gb
 |