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
Oh My Zsh
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() {
...
@@ -28,6 +28,7 @@ __go_tool_complete() {
'help[display help]'
'help[display help]'
'install[compile and install packages and dependencies]'
'install[compile and install packages and dependencies]'
'list[list packages]'
'list[list packages]'
'mod[modules 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]'
...
@@ -83,7 +84,7 @@ __go_tool_complete() {
...
@@ -83,7 +84,7 @@ __go_tool_complete() {
"-x[print remove commands as it executes them]"
\
"-x[print remove commands as it executes them]"
\
"*:importpaths:__go_packages"
"*:importpaths:__go_packages"
;;
;;
fix|fmt|
list|
vet
)
fix|fmt|vet
)
_alternative
':importpaths:__go_packages'
':files:_path_files -g "*.go"'
_alternative
':importpaths:__go_packages'
':files:_path_files -g "*.go"'
;;
;;
install
)
install
)
...
@@ -124,6 +125,81 @@ __go_tool_complete() {
...
@@ -124,6 +125,81 @@ __go_tool_complete() {
"-memprofilerate[set heap profiling rate]:number"
\
"-memprofilerate[set heap profiling rate]:number"
\
"*:args:{ _alternative ':importpaths:__go_packages' ':files:_path_files -g
\"
*.go
\"
' }"
"*: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
)
help
)
_values
"
${
commands
[@]
}
"
\
_values
"
${
commands
[@]
}
"
\
'environment[show Go environment variables available]'
\
'environment[show Go environment variables available]'
\
...
@@ -189,6 +265,7 @@ alias gofa='go fmt ./...'
...
@@ -189,6 +265,7 @@ alias gofa='go fmt ./...'
alias
gog
=
'go get'
alias
gog
=
'go get'
alias
goi
=
'go install'
alias
goi
=
'go install'
alias
gol
=
'go list'
alias
gol
=
'go list'
alias
gom
=
'go mod'
alias
gop
=
'cd $GOPATH'
alias
gop
=
'cd $GOPATH'
alias
gopb
=
'cd $GOPATH/bin'
alias
gopb
=
'cd $GOPATH/bin'
alias
gops
=
'cd $GOPATH/src'
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