1
0
mirror of https://github.com/golang/go synced 2024-11-18 19:54:44 -07:00
go/internal/lsp/source
Muir Manders 8a925fa4c0 internal/lsp/source: improve completions at file scope
Add support for var/func/const/type/import keywords at the file scope.
I left out "package" because, currently, if you are completing
something that means you must already have a package declaration. The
main hurdle was that anything other than a decl keyword shows up as
an *ast.BadDecl at the file scope. To properly detect the prefix we
manually scan for the token containing the position.

I also made a couple small drive-by improvements:
 - Also suggest "goto" and "type" keywords in functions.
 - Allow completing directly before a comment, e.g. "foo<>//". I
   needed this for a test that would have been annoying to write
   otherwise.

Updates golang/go#34009.

Change-Id: I290e7bdda9e66a16f996cdc291985a54bf375231
Reviewed-on: https://go-review.googlesource.com/c/tools/+/217500
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
2020-02-20 22:48:06 +00:00
..
comment_test.go internal/lsp: convert comments to markdown before sending to client 2019-10-04 18:35:38 +00:00
comment.go internal/lsp: convert comments to markdown before sending to client 2019-10-04 18:35:38 +00:00
completion_builtin.go internal/lsp/source: improve completion for "make()" args 2020-02-02 23:20:50 +00:00
completion_format.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
completion_keywords.go internal/lsp/source: improve completions at file scope 2020-02-20 22:48:06 +00:00
completion_labels.go internal/lsp: sort by label after score 2019-12-30 21:11:21 +00:00
completion_literal.go internal/lsp: fix crash completing recursive pointer types 2020-02-07 22:44:06 +00:00
completion_snippet.go internal/lsp: merge completion options into source.Options 2020-01-13 20:09:44 +00:00
completion.go internal/lsp/source: improve completions at file scope 2020-02-20 22:48:06 +00:00
deep_completion.go internal/lsp/source: improve completion involving multiple return values 2020-02-06 05:07:08 +00:00
diagnostics.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
errors.go internal/lsp: remove the checkErrors command in internal/lsp/source 2020-01-24 21:19:55 +00:00
folding_range.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
format_test.go internal/lsp/source: trim file very carefully 2020-01-17 20:34:13 +00:00
format.go internal/lsp: fix diagnostics not clearing when creating new files 2020-02-13 21:50:53 +00:00
highlight.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
hover.go internal/lsp: add module versions from "go list" to pkg.go.dev links 2020-02-19 19:55:21 +00:00
identifier.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
implementation.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
options.go internal/lsp: add codelens for go.mod dependency upgrades 2020-02-14 14:15:08 +00:00
references.go internal/lsp: don't return references for builtins 2020-02-06 19:49:06 +00:00
rename_check.go internal/lsp: improve literal func completion candidates 2019-11-07 21:18:00 +00:00
rename.go internal/lsp: permit renaming symbols declared in other packages 2020-01-27 18:56:10 +00:00
signature_help.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
source_test.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
symbols.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
util.go internal/lsp/source: improve completions at file scope 2020-02-20 22:48:06 +00:00
view.go internal/lsp: add module versions from "go list" to pkg.go.dev links 2020-02-19 19:55:21 +00:00
workspace_symbol.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00