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
2dc980c8
Commit
2dc980c8
authored
Sep 19, 2015
by
Robby Russell
Browse files
Merge pull request #4331 from icholy/master
golang: improve go doc completion
parents
51677da8
22287d01
Changes
3
Hide whitespace changes
Inline
Side-by-side
plugins/golang/golang.plugin.zsh
View file @
2dc980c8
...
...
@@ -54,23 +54,42 @@ __go_tool_complete() {
'-installsuffix[suffix to add to package directory]:suffix'
'-tags[list of build tags to consider satisfied]:tags'
)
__go_list
()
{
local
expl importpaths
declare
-a
importpaths
importpaths
=(
$(
go list
${
words
[
$CURRENT
]
}
... 2>/dev/null
)
)
_wanted importpaths expl
'import paths'
compadd
"
$@
"
-
"
${
importpaths
[@]
}
"
__go_packages
()
{
local
gopaths
declare
-a
gopaths
gopaths
=(
"
${
(s/
:/
)
$(
go
env
GOPATH
)
}
"
)
gopaths+
=(
"
$(
go
env
GOROOT
)
"
)
for
p
in
$gopaths
;
do
_path_files
-W
"
$p
/src"
-/
done
}
__go_identifiers
()
{
compadd
$(
godoc
-templates
$ZSH
/plugins/golang/templates
${
words
[-2]
}
2> /dev/null
)
}
case
${
words
[2]
}
in
clean|doc
)
_arguments
-s
-w
:
'*:importpaths:__go_list'
doc
)
_arguments
-s
-w
\
"-c[symbol matching honors case (paths not affected)]"
\
"-cmd[show symbols with package docs even if package is a command]"
\
"-u[show unexported symbols as well as exported]"
\
"2:importpaths:__go_packages"
\
":next identifiers:__go_identifiers"
;;
clean
)
_arguments
-s
-w
\
"-i[remove the corresponding installed archive or binary (what 'go install' would create)]"
\
"-n[print the remove commands it would execute, but not run them]"
\
"-r[apply recursively to all the dependencies of the packages named by the import paths]"
\
"-x[print remove commands as it executes them]"
\
"*:importpaths:__go_packages"
;;
fix|fmt|list|vet
)
_alternative
':importpaths:__go_
list
'
':files:_path_files -g "*.go"'
_alternative
':importpaths:__go_
packages
'
':files:_path_files -g "*.go"'
;;
install
)
_arguments
-s
-w
:
${
build_flags
[@]
}
\
"-v[show package names]"
\
'*:importpaths:__go_
list
'
'*:importpaths:__go_
packages
'
;;
get
)
_arguments
-s
-w
:
\
...
...
@@ -81,7 +100,7 @@ __go_tool_complete() {
${
build_flags
[@]
}
\
"-v[show package names]"
\
"-o[output file]:file:_files"
\
"*:args:{ _alternative ':importpaths:__go_
list
' ':files:_path_files -g
\"
*.go
\"
' }"
"*:args:{ _alternative ':importpaths:__go_
packages
' ':files:_path_files -g
\"
*.go
\"
' }"
;;
test
)
_arguments
-s
-w
:
\
...
...
@@ -103,7 +122,7 @@ __go_tool_complete() {
"-cpuprofile[write CPU profile to file]:file:_files"
\
"-memprofile[write heap profile to file]:file:_files"
\
"-memprofilerate[set heap profiling rate]:number"
\
"*:args:{ _alternative ':importpaths:__go_
list
' ':files:_path_files -g
\"
*.go
\"
' }"
"*:args:{ _alternative ':importpaths:__go_
packages
' ':files:_path_files -g
\"
*.go
\"
' }"
;;
help
)
_values
"
${
commands
[@]
}
"
\
...
...
plugins/golang/templates/package.txt
0 → 100644
View file @
2dc980c8
{{with .PDoc}}{{/*
Constants
---------------------------------------
*/}}{{with .Consts}}{{range .}}{{range .Names}}{{.}} {{end}}{{end}}{{end}}{{/*
Variables
---------------------------------------
*/}}{{with .Vars}}{{range .}}{{range .Names}}{{.}} {{end}}{{end}}{{end}}{{/*
Functions
---------------------------------------
*/}}{{with .Funcs}}{{range .}}{{ .Name }} {{end}}{{end}}{{/*
Types
---------------------------------------
*/}}{{with .Types}}{{range .}}{{ $TypeName := .Name }}{{ $TypeName }} {{/*
*/}}{{range .Methods}}{{ $TypeName }}.{{.Name}} {{end}}{{/*
*/}}{{range .Funcs}}{{.Name}} {{end}}{{/*
*/}}{{range .Consts}}{{range .Names}}{{.}} {{end}}{{end}}{{/*
*/}}{{range .Vars}}{{range .Names}}{{.}} {{end}}{{end}}{{end}}{{end}}{{end}}
plugins/golang/templates/search.txt
0 → 100644
View file @
2dc980c8
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