Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
ae7d0bcd
Commit
ae7d0bcd
authored
Mar 26, 2019
by
Andrey Skurlatov
Committed by
Marc Cornellà
Mar 25, 2019
Browse files
golang: mod and list commands completion (#7665)
Also, add `gom` alias to `go mod`.
parent
d79415b1
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/golang/golang.plugin.zsh
View file @
ae7d0bcd
...
...
@@ -28,6 +28,7 @@ __go_tool_complete() {
'help[display help]'
'install[compile and install packages and dependencies]'
'list[list packages]'
'mod[modules maintenance]'
'run[compile and run Go program]'
'test[test packages]'
'tool[run specified go tool]'
...
...
@@ -83,7 +84,7 @@ __go_tool_complete() {
"-x[print remove commands as it executes them]"
\
"*:importpaths:__go_packages"
;;
fix|fmt|
list|
vet
)
fix|fmt|vet
)
_alternative
':importpaths:__go_packages'
':files:_path_files -g "*.go"'
;;
install
)
...
...
@@ -124,6 +125,81 @@ __go_tool_complete() {
"-memprofilerate[set heap profiling rate]:number"
\
"*:args:{ _alternative ':importpaths:__go_packages' ':files:_path_files -g
\"
*.go
\"
' }"
;;
list
)
_arguments
-s
-w
:
\
"-f[alternative format for the list]:format"
\
"-json[print data in json format]"
\
"-compiled[set CompiledGoFiles to the Go source files presented to the compiler]"
\
"-deps[iterate over not just the named packages but also all their dependencies]"
\
"-e[change the handling of erroneous packages]"
\
"-export[set the Export field to the name of a file containing up-to-date export information for the given package]"
\
"-find[identify the named packages but not resolve their dependencies]"
\
"-test[report not only the named packages but also their test binaries]"
\
"-m[list modules instead of packages]"
\
"-u[adds information about available upgrades]"
\
"-versions[set the Module's Versions field to a list of all known versions of that module]:number"
\
"*:importpaths:__go_packages"
;;
mod
)
typeset
-a
mod_commands
mod_commands+
=(
'download[download modules to local cache]'
'edit[edit go.mod from tools or scripts]'
'graph[print module requirement graph]'
'init[initialize new module in current directory]'
'tidy[add missing and remove unused modules]'
'vendor[make vendored copy of dependencies]'
'verify[verify dependencies have expected content]'
'why[explain why packages or modules are needed]'
)
if
((
CURRENT
==
3
))
;
then
_values
'go mod commands'
${
mod_commands
[@]
}
"help[display help]"
return
fi
case
${
words
[3]
}
in
help
)
_values
'go mod commands'
${
mod_commands
[@]
}
;;
download
)
_arguments
-s
-w
:
\
"-json[print a sequence of JSON objects standard output]"
\
"*:flags"
;;
edit
)
_arguments
-s
-w
:
\
"-fmt[reformat the go.mod file]"
\
"-module[change the module's path]"
\
"-replace[=old{@v}=new{@v} add a replacement of the given module path and version pair]:name"
\
"-dropreplace[=old{@v}=new{@v} drop a replacement of the given module path and version pair]:name"
\
"-go[={version} set the expected Go language version]:number"
\
"-print[print the final go.mod in its text format]"
\
"-json[print the final go.mod file in JSON format]"
\
"*:flags"
;;
graph
)
;;
init
)
;;
tidy
)
_arguments
-s
-w
:
\
"-v[print information about removed modules]"
\
"*:flags"
;;
vendor
)
_arguments
-s
-w
:
\
"-v[print the names of vendored]"
\
"*:flags"
;;
verify
)
;;
why
)
_arguments
-s
-w
:
\
"-m[treats the arguments as a list of modules and finds a path to any package in each of the modules]"
\
"-vendor[exclude tests of dependencies]"
\
"*:importpaths:__go_packages"
;;
esac
;;
help
)
_values
"
${
commands
[@]
}
"
\
'environment[show Go environment variables available]'
\
...
...
@@ -189,6 +265,7 @@ alias gofa='go fmt ./...'
alias
gog
=
'go get'
alias
goi
=
'go install'
alias
gol
=
'go list'
alias
gom
=
'go mod'
alias
gop
=
'cd $GOPATH'
alias
gopb
=
'cd $GOPATH/bin'
alias
gops
=
'cd $GOPATH/src'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment