go/internal/lsp
Francesco Renzi b98090b833 internal/lsp/analysis/implementmissing: add analyzer
This adds an analyzer that provides suggested fixes for undeclared name
errors on function calls, implementing a stub of the fuction (with an
empty body). As of now this doesn't try to guess returned types but
only parameters.
Generated functions are appended at the end of the file where these type
errors occur.

Updates golang/go#47558

Change-Id: Iaef45ada6b7b73de1fbe42e5f7e334512b65e6c7
Reviewed-on: https://go-review.googlesource.com/c/tools/+/348829
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Trust: Rebecca Stambler <rstambler@golang.org>
Trust: Peter Weinberger <pjw@google.com>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
2021-09-21 20:35:14 +00:00
..
analysis internal/lsp/analysis/implementmissing: add analyzer 2021-09-21 20:35:14 +00:00
browser all: replace all usages of os/exec with golang.org/x/sys/execabs 2021-01-19 22:25:03 +00:00
cache internal/typeparams: update to the new Instances API 2021-09-21 18:37:00 +00:00
cmd internal/lsp: add support for hovering runes 2021-09-14 22:22:34 +00:00
command internal/lsp/command: fix typo in comment 2021-09-19 16:34:52 +00:00
debug internal/lsp/source/completion: avoid a panic in package completion 2021-05-10 23:22:37 +00:00
diff all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
fake internal/lsp/source: recursively search for qualified objects 2021-08-17 02:54:26 +00:00
fuzzy internal/lsp/fuzzy: add a new fuzzy matcher optimized for Go symbols 2021-08-09 20:21:06 +00:00
helper internal/lsp/protocol: latest version of LSP 2021-04-20 19:23:16 +00:00
lsppos internal/lsp/source: compute imports text edits from scratch 2021-07-22 17:13:07 +00:00
lsprpc internal/lsp/lsprpc: fix returning connection error on disconnect 2021-08-04 13:50:16 +00:00
mod internal/lsp: in degraded mode, limit the workspace to active packages 2021-07-26 20:36:31 +00:00
progress internal/lsp: move the progress tracker to the session 2021-06-16 01:01:29 +00:00
protocol internal/lsp/protocol: bring LSP protocol up to date 2021-08-03 20:45:05 +00:00
regtest internal/lsp/source: recursively search for qualified objects 2021-08-17 02:54:26 +00:00
snippet internal/lsp/source/completion: add postfix snippet completions 2021-03-29 17:27:46 +00:00
source internal/lsp/analysis/implementmissing: add analyzer 2021-09-21 20:35:14 +00:00
template internal/lsp/templates: replace panic by logging 2021-09-20 18:36:32 +00:00
testdata go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00
tests go/internal/gcimporter: update iimport.go to support type parameters 2021-09-15 00:13:36 +00:00
README.md internal/lsp: add READMEs that describe tests, how to run tests 2020-12-03 17:03:53 +00:00
call_hierarchy.go
code_action.go internal/lsp: add extract to method code action 2021-07-23 18:08:39 +00:00
code_lens.go internal/lsp: switch to the new command API 2021-02-09 22:09:28 +00:00
command.go internal/lsp/source: consider test variants when finding pkg from pos 2021-09-08 14:51:59 +00:00
completion.go internal/lsp/template: implement completions for template files 2021-09-14 19:06:02 +00:00
completion_test.go internal/lsp/completion: move postfix completions behind option 2021-03-29 18:55:49 +00:00
debounce.go internal/lsp: adopt bcmills' suggestion for an improved debouncer API 2021-07-13 16:40:23 +00:00
debounce_test.go internal/lsp: adopt bcmills' suggestion for an improved debouncer API 2021-07-13 16:40:23 +00:00
definition.go internal/lsp: fix no definition when importShortcut is link 2021-05-10 21:56:33 +00:00
diagnostics.go internal/lsp/diagnostics: avoid erroneous error message for orphaned files 2021-09-20 15:08:51 +00:00
folding_range.go all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
format.go
general.go internal/lsp: move the progress tracker to the session 2021-06-16 01:01:29 +00:00
highlight.go internal/lsp: support template files 2021-05-05 01:45:45 +00:00
hover.go internal/lsp: support template files 2021-05-05 01:45:45 +00:00
implementation.go
link.go internal/lsp: add ?utm_source=gopls to links to pkg.go.dev 2020-11-16 00:15:58 +00:00
lsp_test.go internal/lsp: add support for hovering runes 2021-09-14 22:22:34 +00:00
references.go internal/lsp: support template files 2021-05-05 01:45:45 +00:00
rename.go internal/lsp/source: make it an error to rename embedded fields 2021-01-26 13:52:46 +00:00
reset_golden.sh
semantic.go internal/lsp: produce "method" in place of "member" as per the spec 2021-09-13 21:01:54 +00:00
server.go internal/lsp: add a setting to batch didChangeWatchedFile notifications 2021-07-08 19:55:54 +00:00
server_gen.go internal/lsp: make ShowDocument RPC available to gopls 2021-05-03 16:38:18 +00:00
signature_help.go internal/lsp: update to latest version of LSP protocol 2021-02-02 11:32:59 +00:00
symbols.go internal/lsp: support template files 2021-05-05 01:45:45 +00:00
text_synchronization.go internal/lsp: signal diagnostic completion if modification failed 2021-07-13 20:49:08 +00:00
workspace.go internal/lsp: report used semantic token order in registerCapability 2021-05-19 16:08:23 +00:00
workspace_symbol.go

README.md

lsp

internal/lsp provides much of the Language Server Protocol (lsp) implementation for gopls.

Documentation for users and contributors can be found in the gopls/doc directory.