parent
a50d486f6d
commit
499e5be22e
373
src/_golang
373
src/_golang
|
@ -45,25 +45,22 @@
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
__go_buildmodes() {
|
__go_buildmodes() {
|
||||||
local -a buildmodes
|
local -a buildmodes=(
|
||||||
buildmodes=(
|
'archive[non-main packages into .a files]'
|
||||||
'archive[non-main packages into .a files]'
|
'c-archive[main package, plus all packages it imports, into a C archive file]'
|
||||||
'c-archive[main package, plus all packages it imports, into a C archive file]'
|
'c-shared[main package, plus all packages it imports, into a C shared library]'
|
||||||
'c-shared[main package, plus all packages it imports, into a C shared library]'
|
'default[main packages are built into executables and listed non-main packages are built into .a files]'
|
||||||
'default[main packages are built into executables and listed non-main packages are built into .a files]'
|
'shared[non-main packages into a single shared library that will be used when building with the -linkshared option]'
|
||||||
'shared[non-main packages into a single shared library that will be used when building with the -linkshared option]'
|
'exe[main packages into executables]'
|
||||||
'exe[main packages into executables]'
|
'pie[main packages and everything they import into position independent executables (PIE)]'
|
||||||
'pie[main packages and everything they import into position independent executables (PIE)]'
|
'plugin[main packages, plus all packages that they import, into a Go plugin]'
|
||||||
'plugin[main packages, plus all packages that they import, into a Go plugin]'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_values 'mode' $buildmodes
|
_values 'mode' $buildmodes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
__go_runtimedebug() {
|
__go_runtimedebug() {
|
||||||
local -a vars
|
local -a vars=(
|
||||||
vars=(
|
|
||||||
'allocfreetrace[profile allocations]:boolean:(1 0)'
|
'allocfreetrace[profile allocations]:boolean:(1 0)'
|
||||||
'clobberfree[clobber memory after free]:boolean:(1 0)'
|
'clobberfree[clobber memory after free]:boolean:(1 0)'
|
||||||
'cgocheck[check passing go pointers to non-go]: :((0\:"no checks" 1\:"check checks" 2\:"expensive checks"))'
|
'cgocheck[check passing go pointers to non-go]: :((0\:"no checks" 1\:"check checks" 2\:"expensive checks"))'
|
||||||
|
@ -114,66 +111,66 @@ __go_gcdebugflags() {
|
||||||
|
|
||||||
__go_gcflags() {
|
__go_gcflags() {
|
||||||
_arguments \
|
_arguments \
|
||||||
'-%[debug non-static initializers]' \
|
'-%[debug non-static initializers]' \
|
||||||
'-c=[concurrency during compilation]:int' \
|
'-c=[concurrency during compilation]:int' \
|
||||||
'-+[compiling runtime]' \
|
'-+[compiling runtime]' \
|
||||||
'-B[disable bounds checking]' \
|
'-B[disable bounds checking]' \
|
||||||
'-C[disable printing of columns in error messages]' \
|
'-C[disable printing of columns in error messages]' \
|
||||||
'-D=[set relative path for local imports]:path: _path_files -/' \
|
'-D=[set relative path for local imports]:path: _path_files -/' \
|
||||||
'-E[debug symbol export]' \
|
'-E[debug symbol export]' \
|
||||||
'-I=[add directory to import search path]:directory: _path_files -/' \
|
'-I=[add directory to import search path]:directory: _path_files -/' \
|
||||||
'-K[debug missing line numbers]' \
|
'-K[debug missing line numbers]' \
|
||||||
'-L[show full file names in error messages]' \
|
'-L[show full file names in error messages]' \
|
||||||
'-N[disable optimizations]' \
|
'-N[disable optimizations]' \
|
||||||
'-S[print assembly listing]' \
|
'-S[print assembly listing]' \
|
||||||
'-V[print version and exit]' \
|
'-V[print version and exit]' \
|
||||||
'-W[debug parse tree after type checking]' \
|
'-W[debug parse tree after type checking]' \
|
||||||
'-asmhdr=[write assembly header to file]:file' \
|
'-asmhdr=[write assembly header to file]:file' \
|
||||||
'-bench=[append benchmark times to file]:file' \
|
'-bench=[append benchmark times to file]:file' \
|
||||||
'-blockprofile=[write block profile to file]:file' \
|
'-blockprofile=[write block profile to file]:file' \
|
||||||
'-buildid=[record id as the build id in the export metadata]:id' \
|
'-buildid=[record id as the build id in the export metadata]:id' \
|
||||||
'-complete[compiling complete package (no C or assembly)]' \
|
'-complete[compiling complete package (no C or assembly)]' \
|
||||||
'-cpuprofile=[write cpu profile to file]:file' \
|
'-cpuprofile=[write cpu profile to file]:file' \
|
||||||
'-d=[print debug information about items in list; try -d help]:list: __go_gcdebugflags' \
|
'-d=[print debug information about items in list; try -d help]:list: __go_gcdebugflags' \
|
||||||
'-dwarf[generate DWARF symbols (default true)]' \
|
'-dwarf[generate DWARF symbols (default true)]' \
|
||||||
'-dwarfbasentries[use base address selection entries in DWARF (default true)]' \
|
'-dwarfbasentries[use base address selection entries in DWARF (default true)]' \
|
||||||
'-dwarflocationlists[add location lists to DWARF in optimized mode (default true)]' \
|
'-dwarflocationlists[add location lists to DWARF in optimized mode (default true)]' \
|
||||||
'-dynlink[support references to Go symbols defined in other shared libraries]' \
|
'-dynlink[support references to Go symbols defined in other shared libraries]' \
|
||||||
'-e[no limit on number of errors reported]' \
|
'-e[no limit on number of errors reported]' \
|
||||||
'-gendwarfinl=[generate DWARF inline info records (default 2)]:int' \
|
'-gendwarfinl=[generate DWARF inline info records (default 2)]:int' \
|
||||||
'-goversion=[required version of the runtime]:string' \
|
'-goversion=[required version of the runtime]:string' \
|
||||||
'-h[halt on error]' \
|
'-h[halt on error]' \
|
||||||
'-importcfg=[read import configuration from file]:file' \
|
'-importcfg=[read import configuration from file]:file' \
|
||||||
'-installsuffix=[set pkg directory suffix]:suffix' \
|
'-installsuffix=[set pkg directory suffix]:suffix' \
|
||||||
'-j[debug runtime-initialized variables]' \
|
'-j[debug runtime-initialized variables]' \
|
||||||
'-json=[version,destination for JSON compiler/optimizer logging]:string' \
|
'-json=[version,destination for JSON compiler/optimizer logging]:string' \
|
||||||
'-l[disable inlining]' \
|
'-l[disable inlining]' \
|
||||||
'-lang=[release to compile for]:string' \
|
'-lang=[release to compile for]:string' \
|
||||||
'-linkobj=[write linker-specific object to file]:file' \
|
'-linkobj=[write linker-specific object to file]:file' \
|
||||||
'-linkshared[generate code that will be linked against Go shared libraries]' \
|
'-linkshared[generate code that will be linked against Go shared libraries]' \
|
||||||
'-live[debug liveness analysis]' \
|
'-live[debug liveness analysis]' \
|
||||||
'-m[print optimization decisions]' \
|
'-m[print optimization decisions]' \
|
||||||
'-memprofile=[write memory profile to file]:file' \
|
'-memprofile=[write memory profile to file]:file' \
|
||||||
'-memprofilerate=[set runtime.MemProfileRate to rate]:rate' \
|
'-memprofilerate=[set runtime.MemProfileRate to rate]:rate' \
|
||||||
'-msan[build code compatible with C/C++ memory sanitizer]' \
|
'-msan[build code compatible with C/C++ memory sanitizer]' \
|
||||||
'-mutexprofile=[write mutex profile to file]:file' \
|
'-mutexprofile=[write mutex profile to file]:file' \
|
||||||
'-newobj[use new object file format]' \
|
'-newobj[use new object file format]' \
|
||||||
'-nolocalimports[reject local (relative) imports]' \
|
'-nolocalimports[reject local (relative) imports]' \
|
||||||
'-o=[write output to file]:file' \
|
'-o=[write output to file]:file' \
|
||||||
'-p=[set expected package import path]:path: _path_files -/' \
|
'-p=[set expected package import path]:path: _path_files -/' \
|
||||||
'-pack[write to file.a instead of file.o]' \
|
'-pack[write to file.a instead of file.o]' \
|
||||||
'-r[debug generated wrappers]' \
|
'-r[debug generated wrappers]' \
|
||||||
'-race[enable race detector]' \
|
'-race[enable race detector]' \
|
||||||
'-shared[generate code that can be linked into a shared library]' \
|
'-shared[generate code that can be linked into a shared library]' \
|
||||||
'-smallframes[reduce the size limit for stack allocated objects]' \
|
'-smallframes[reduce the size limit for stack allocated objects]' \
|
||||||
'-spectre=[enable spectre mitigations]:mitigations:(all index ret)' \
|
'-spectre=[enable spectre mitigations]:mitigations:(all index ret)' \
|
||||||
'-std[compiling standard library]' \
|
'-std[compiling standard library]' \
|
||||||
'-symabis=[read symbol ABIs from file]:file' \
|
'-symabis=[read symbol ABIs from file]:file' \
|
||||||
'-traceprofile=[write an execution trace to file]:file' \
|
'-traceprofile=[write an execution trace to file]:file' \
|
||||||
'-trimpath=[remove prefix from recorded source file paths]:prefix' \
|
'-trimpath=[remove prefix from recorded source file paths]:prefix' \
|
||||||
'-v[increase debug verbosity]' \
|
'-v[increase debug verbosity]' \
|
||||||
'-w[debug type checking]' \
|
'-w[debug type checking]' \
|
||||||
'-wb[enable write barrier (default true)]' \
|
'-wb[enable write barrier (default true)]'
|
||||||
}
|
}
|
||||||
|
|
||||||
__go_pgo() {
|
__go_pgo() {
|
||||||
|
@ -182,27 +179,27 @@ __go_pgo() {
|
||||||
"file:file:_files"
|
"file:file:_files"
|
||||||
}
|
}
|
||||||
|
|
||||||
local -a commands build_flags
|
local -a build_flags
|
||||||
commands=(
|
local -a commands=(
|
||||||
'bug:start a bug report'
|
'bug:start a bug report'
|
||||||
'build:compile packages and dependencies'
|
'build:compile packages and dependencies'
|
||||||
'clean:remove object files and cached files'
|
'clean:remove object files and cached files'
|
||||||
'doc:show documentation for package or symbol'
|
'doc:show documentation for package or symbol'
|
||||||
'env:print Go environment information'
|
'env:print Go environment information'
|
||||||
'fix:update packages to use new APIs'
|
'fix:update packages to use new APIs'
|
||||||
'fmt:gofmt (reformat) package sources'
|
'fmt:gofmt (reformat) package sources'
|
||||||
'generate:generate Go files by processing source'
|
'generate:generate Go files by processing source'
|
||||||
'get:download and install packages and dependencies'
|
'get:download and install packages and dependencies'
|
||||||
'install:compile and install packages and dependencies'
|
'install:compile and install packages and dependencies'
|
||||||
'list:list packages or modules'
|
'list:list packages or modules'
|
||||||
'mod:module maintenance'
|
'mod:module maintenance'
|
||||||
'work:workspace maintenance'
|
'work:workspace maintenance'
|
||||||
'run:compile and run Go program'
|
'run:compile and run Go program'
|
||||||
'test:test packages'
|
'test:test packages'
|
||||||
'tool:run specified go tool'
|
'tool:run specified go tool'
|
||||||
'version:print Go version'
|
'version:print Go version'
|
||||||
'vet:report likely mistakes in packages'
|
'vet:report likely mistakes in packages'
|
||||||
'help:get more information about a command'
|
'help:get more information about a command'
|
||||||
)
|
)
|
||||||
|
|
||||||
__go_envvarvals() {
|
__go_envvarvals() {
|
||||||
|
@ -342,47 +339,46 @@ _arguments \
|
||||||
case $state in
|
case $state in
|
||||||
args)
|
args)
|
||||||
build_flags=(
|
build_flags=(
|
||||||
'-C[change to directory before running the command]: :_files -/'
|
'-C[change to directory before running the command]: :_files -/'
|
||||||
'-a[force rebuilding of packages that are already up-to-date]'
|
'-a[force rebuilding of packages that are already up-to-date]'
|
||||||
'-n[print the commands but do not run them]'
|
'-n[print the commands but do not run them]'
|
||||||
'-p[number of builds that can be run in parallel]:number'
|
'-p[number of builds that can be run in parallel]:number'
|
||||||
'-race[enable data race detection]'
|
'-race[enable data race detection]'
|
||||||
'-msan[enable interoperation with memory sanitizer]'
|
'-msan[enable interoperation with memory sanitizer]'
|
||||||
'-asan[enable interoperation with address sanitizer]'
|
'-asan[enable interoperation with address sanitizer]'
|
||||||
'-v[print the names of packages as they are compiled]'
|
'-v[print the names of packages as they are compiled]'
|
||||||
'-work[print temporary work directory and keep it]'
|
'-work[print temporary work directory and keep it]'
|
||||||
'-x[print the commands]'
|
'-x[print the commands]'
|
||||||
'-asmflags[arguments for each go tool asm invocation]:flags'
|
'-asmflags[arguments for each go tool asm invocation]:flags'
|
||||||
'-buildmode[build mode to use]:mode:__go_buildmodes'
|
'-buildmode[build mode to use]:mode:__go_buildmodes'
|
||||||
'-buildvcs[stamp binaries with version control information]:mode:(internal external auto)'
|
'-buildvcs[stamp binaries with version control information]:mode:(internal external auto)'
|
||||||
'-compiler[name of compiler to use]:name'
|
'-compiler[name of compiler to use]:name'
|
||||||
'-gccgoflags[arguments for gccgo]:args'
|
'-gccgoflags[arguments for gccgo]:args'
|
||||||
'*-gcflags=[arguments for each go tool compile invocation]:args:__go_gcflags'
|
'*-gcflags=[arguments for each go tool compile invocation]:args:__go_gcflags'
|
||||||
'-installsuffix[suffix to add to package directory]:suffix'
|
'-installsuffix[suffix to add to package directory]:suffix'
|
||||||
'-ldflags[arguments to pass on each go tool link invocation.]:flags'
|
'-ldflags[arguments to pass on each go tool link invocation.]:flags'
|
||||||
'-linkshared[link against shared libraries]'
|
'-linkshared[link against shared libraries]'
|
||||||
'-overlay[read a JSON config file that provides an overlay for build operations]:file:_files -g "*.json"'
|
'-overlay[read a JSON config file that provides an overlay for build operations]:file:_files -g "*.json"'
|
||||||
'-pgo[specify the file path of a profile for profile-guided optimization]:file_or_profile:__go_pgo'
|
'-pgo[specify the file path of a profile for profile-guided optimization]:file_or_profile:__go_pgo'
|
||||||
'-pkgdir[install and load all packages from dir]:dir'
|
'-pkgdir[install and load all packages from dir]:dir'
|
||||||
'-tags[list of build tags to consider satisfied]:tags'
|
'-tags[list of build tags to consider satisfied]:tags'
|
||||||
'-trimpath[remove all file system paths from the resulting executable]'
|
'-trimpath[remove all file system paths from the resulting executable]'
|
||||||
'-toolexec[program to use to invoke toolchain programs]:args'
|
'-toolexec[program to use to invoke toolchain programs]:args'
|
||||||
)
|
)
|
||||||
mod_flags=(
|
local -a mod_flags=(
|
||||||
'-mod=[module download mode to use]:download mode:(readonly vendor mod)'
|
'-mod=[module download mode to use]:download mode:(readonly vendor mod)'
|
||||||
'-modcacherw[leave newly-created directories in the module cache read-write]'
|
'-modcacherw[leave newly-created directories in the module cache read-write]'
|
||||||
'-modfile=[read an alternate go.mod file]:modfile: _files -g "*.mod"'
|
'-modfile=[read an alternate go.mod file]:modfile: _files -g "*.mod"'
|
||||||
)
|
)
|
||||||
|
local -a edit_flags=(
|
||||||
edit_flags=(
|
'-fmt[reformats the go.mod/work file without making other changes]'
|
||||||
'-fmt[reformats the go.mod/work file without making other changes]' \
|
'*-require=[add a requirement on the given module path and version]:require'
|
||||||
'*-require=[add a requirement on the given module path and version]:require' \
|
'*-droprequire=[drop a requirement on the given module path and version]:droprequire'
|
||||||
'*-droprequire=[drop a requirement on the given module path and version]:droprequire' \
|
'-go[sets the expected Go language version]:goversion'
|
||||||
'-go[sets the expected Go language version]:goversion' \
|
'*-replace=[add a replacement of the given module path and version]:replace'
|
||||||
'*-replace=[add a replacement of the given module path and version]:replace' \
|
'*-dropreplace=[drop a replacement of the given module path and version]:dropreplace'
|
||||||
'*-dropreplace=[drop a replacement of the given module path and version]:dropreplace' \
|
'-json[prints the final go.mod/work file in JSON format]'
|
||||||
'-json[prints the final go.mod/work file in JSON format]' \
|
'-print[prints the final go.mod/work in its text format]'
|
||||||
'-print[prints the final go.mod/work in its text format]' \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
__go_packages() {
|
__go_packages() {
|
||||||
|
@ -438,8 +434,7 @@ case $state in
|
||||||
;;
|
;;
|
||||||
|
|
||||||
env)
|
env)
|
||||||
local -a goenvvars
|
local -a goenvvars=(
|
||||||
goenvvars=(
|
|
||||||
"GOARCH[architecture, or processor, for which to compile code.]:architecture"
|
"GOARCH[architecture, or processor, for which to compile code.]:architecture"
|
||||||
"GCCGO[gccgo command to run.]:gccgo command"
|
"GCCGO[gccgo command to run.]:gccgo command"
|
||||||
"GOBIN[directory where 'go install' installs to]:go install target dir"
|
"GOBIN[directory where 'go install' installs to]:go install target dir"
|
||||||
|
@ -497,8 +492,7 @@ case $state in
|
||||||
"GOMOD[absolute path the the main go.mod]:abs path to main go.mod"
|
"GOMOD[absolute path the the main go.mod]:abs path to main go.mod"
|
||||||
"GOTOOLDIR[installation directory of go tools]:tool installation directory"
|
"GOTOOLDIR[installation directory of go tools]:tool installation directory"
|
||||||
)
|
)
|
||||||
local -a exclude_from_w
|
local -a exclude_from_w=(GOENV)
|
||||||
exclude_from_w=(GOENV)
|
|
||||||
|
|
||||||
__list_env_vars() {
|
__list_env_vars() {
|
||||||
# the parameter expansion strops off everything after the first [
|
# the parameter expansion strops off everything after the first [
|
||||||
|
@ -528,7 +522,7 @@ case $state in
|
||||||
'-n[prints commands that would be executed]' \
|
'-n[prints commands that would be executed]' \
|
||||||
'-x[prints commands as they are executed]' \
|
'-x[prints commands as they are executed]' \
|
||||||
'*:importpaths:__go_packages'
|
'*:importpaths:__go_packages'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
generate)
|
generate)
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -538,7 +532,7 @@ case $state in
|
||||||
'-n[print the commands but do not run them]' \
|
'-n[print the commands but do not run them]' \
|
||||||
'-v[print the names of packages as they are compiled]' \
|
'-v[print the names of packages as they are compiled]' \
|
||||||
"*:args:{ _alternative ':importpaths:__go_packages' _files }"
|
"*:args:{ _alternative ':importpaths:__go_packages' _files }"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
get)
|
get)
|
||||||
# no mod_flags for get
|
# no mod_flags for get
|
||||||
|
@ -551,16 +545,15 @@ case $state in
|
||||||
'-u[use the network to update the named packages]' \
|
'-u[use the network to update the named packages]' \
|
||||||
${build_flags[@]} \
|
${build_flags[@]} \
|
||||||
'*:importpaths:__go_packages'
|
'*:importpaths:__go_packages'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
install)
|
install)
|
||||||
_arguments ${build_flags[@]} \
|
_arguments ${build_flags[@]} \
|
||||||
'*:importpaths:__go_packages'
|
'*:importpaths:__go_packages'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
list)
|
list)
|
||||||
local -a list_args
|
local -a list_args=(
|
||||||
list_args=(
|
|
||||||
'-e[changes the handling of erroneous packages]'
|
'-e[changes the handling of erroneous packages]'
|
||||||
'-f[specifies an alternate format for the list]:format'
|
'-f[specifies an alternate format for the list]:format'
|
||||||
'-json[causes package data to be printed in JSON format]'
|
'-json[causes package data to be printed in JSON format]'
|
||||||
|
@ -579,20 +572,19 @@ case $state in
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
_arguments ${list_args[@]}
|
_arguments ${list_args[@]}
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mod)
|
mod)
|
||||||
local -a mod_commands
|
local -a mod_commands=(
|
||||||
mod_commands=(
|
'download:download modules to local cache'
|
||||||
'download:download modules to local cache'
|
'edit:edit go.mod from tools or scripts'
|
||||||
'edit:edit go.mod from tools or scripts'
|
'graph:print module requirement graph'
|
||||||
'graph:print module requirement graph'
|
'init:initialize new module in current directory'
|
||||||
'init:initialize new module in current directory'
|
'tidy:add missing and remove unused modules'
|
||||||
'tidy:add missing and remove unused modules'
|
'vendor:make vendored copy of dependencies'
|
||||||
'vendor:make vendored copy of dependencies'
|
'verify:verify dependencies have expected content'
|
||||||
'verify:verify dependencies have expected content'
|
'why:explain why packages or modules are needed'
|
||||||
'why:explain why packages or modules are needed'
|
'help:get more information about a command'
|
||||||
'help:get more information about a command'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -763,16 +755,15 @@ case $state in
|
||||||
;;
|
;;
|
||||||
|
|
||||||
callgraph)
|
callgraph)
|
||||||
local -a algos graphs
|
local -a algos=(
|
||||||
algos=(
|
'static:static calls only'
|
||||||
'static:static calls only'
|
'cha:Class Hierarchy Analysis'
|
||||||
'cha:Class Hierarchy Analysis'
|
'rta:Rapid Type Analysis'
|
||||||
'rta:Rapid Type Analysis'
|
'pta:inclusion-based Points-To Analysis'
|
||||||
'pta:inclusion-based Points-To Analysis'
|
|
||||||
)
|
)
|
||||||
graphs=(
|
local -a graphs=(
|
||||||
'digraph:output in digraph format'
|
'digraph:output in digraph format'
|
||||||
'graphviz:output in AT&T GraphViz (.dot) format'
|
'graphviz:output in AT&T GraphViz (.dot) format'
|
||||||
)
|
)
|
||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -1052,7 +1043,6 @@ case $state in
|
||||||
'*:files:_files'
|
'*:files:_files'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|
||||||
vet)
|
vet)
|
||||||
_arguments \
|
_arguments \
|
||||||
'-n[print commands that would be executed]' \
|
'-n[print commands that would be executed]' \
|
||||||
|
@ -1062,12 +1052,11 @@ case $state in
|
||||||
;;
|
;;
|
||||||
|
|
||||||
work)
|
work)
|
||||||
local -a work_commands
|
local -a work_commands=(
|
||||||
work_commands=(
|
'edit:edit go.work from tools or scripts'
|
||||||
'edit:edit go.work from tools or scripts'
|
'init:initialize workspace file'
|
||||||
'init:initialize workspace file'
|
'sync:sync workspace build list to modules'
|
||||||
'sync:sync workspace build list to modules'
|
'use:add modules to workspace file'
|
||||||
'use:add modules to workspace file'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
|
@ -1103,29 +1092,27 @@ case $state in
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|
||||||
help)
|
help)
|
||||||
local -a topics
|
local -a topics=(
|
||||||
topics=(
|
'buildconstraint:build constraints'
|
||||||
'buildconstraint:build constraints'
|
'buildmode:build modes'
|
||||||
'buildmode:build modes'
|
'c:calling between Go and C'
|
||||||
'c:calling between Go and C'
|
'cache:build and test caching'
|
||||||
'cache:build and test caching'
|
'environment:environment variables'
|
||||||
'environment:environment variables'
|
'filetype:file types'
|
||||||
'filetype:file types'
|
'go.mod:the go.mod file'
|
||||||
'go.mod:the go.mod file'
|
'gopath:GOPATH environment variable'
|
||||||
'gopath:GOPATH environment variable'
|
'gopath-get:legacy GOPATH go get'
|
||||||
'gopath-get:legacy GOPATH go get'
|
'goproxy:module proxy protocol'
|
||||||
'goproxy:module proxy protocol'
|
'importpath:import path syntax'
|
||||||
'importpath:import path syntax'
|
'modules:modules, module versions, and more'
|
||||||
'modules:modules, module versions, and more'
|
'module-get:module-aware go get'
|
||||||
'module-get:module-aware go get'
|
'module-auth:module authentication using go.sum'
|
||||||
'module-auth:module authentication using go.sum'
|
'packages:package lists and patterns'
|
||||||
'packages:package lists and patterns'
|
'private:configuration for downloading non-public code'
|
||||||
'private:configuration for downloading non-public code'
|
'testflag:testing flags'
|
||||||
'testflag:testing flags'
|
'testfunc:testing functions'
|
||||||
'testfunc:testing functions'
|
'vcs:controlling version control with GOVCS'
|
||||||
'vcs:controlling version control with GOVCS'
|
|
||||||
)
|
)
|
||||||
|
|
||||||
_arguments "1: :{_describe 'command' commands -- topics}"
|
_arguments "1: :{_describe 'command' commands -- topics}"
|
||||||
|
|
Loading…
Reference in New Issue