go/internal/lsp
pjw 9ffa3ad372 internal/lsp: Provide completions for test function definitions
In test files, function definitions starting with
Test, Bench, or Fuzz can be completed almost automatically.

For the snippets the user hits tab, completes the name, hits
tab again, and the function is defined, except (of course) for its
body.

Otherwise a completion that fills in the signature is proposed.

Where appropriate, 'TestMain(m *testing.M)' is also offered as
a completion.

Fixes golang/go#46896 and golang/go#51089

Change-Id: I46c05af0ead79c1d82ca40b2c605045e06e1a35d
Reviewed-on: https://go-review.googlesource.com/c/tools/+/385974
Run-TryBot: Peter Weinberger <pjw@google.com>
Trust: Peter Weinberger <pjw@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2022-02-25 19:27:31 +00:00
..
analysis gopls,internal/lsp: Implement method stubbing via CodeAction 2022-02-16 19:42:34 +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/lsp: hash go version into package key 2022-02-24 19:04:43 +00:00
cmd internal/lsp: use placeholders with prepare rename 2022-02-15 00:29:01 +00:00
command internal/lsp: add ListImports 2022-02-04 22:09:29 +00:00
debug internal/lsp/debug: add go version to gopls version output 2022-02-07 15:39:03 +00:00
diff all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
fake internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +00:00
fuzzy internal/lsp/source: parse symbol queries when using fastfuzzy 2022-01-19 15:06:07 +00:00
helper internal/lsp/protocol: update LSP definitions and stubs 2021-10-05 16:44:45 +00:00
lsppos internal/lsp/source: compute imports text edits from scratch 2021-07-22 17:13:07 +00:00
lsprpc internal/lsp/lsprpc: increase timeout for TestEnvForwarding 2021-11-11 03:25:14 +00:00
mod gopls: remove the workspace_metadata command 2022-02-04 14:02:58 +00:00
progress internal/lsp: move the progress tracker to the session 2021-06-16 01:01:29 +00:00
protocol internal/lsp: use placeholders with prepare rename 2022-02-15 00:29:01 +00:00
regtest internal/lsp/cache: fixes for workspace invalidation 2022-02-04 14:02:15 +00:00
snippet internal/lsp/source/completion: add postfix snippet completions 2021-03-29 17:27:46 +00:00
source internal/lsp: Provide completions for test function definitions 2022-02-25 19:27:31 +00:00
template internal/template: return available semantic tokens even on template error 2022-01-26 20:10:56 +00:00
testdata internal/lsp/source: use the object as the hover source for type params 2022-02-17 17:38:34 +00:00
tests internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +00:00
work internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +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 internal/lsp: release resources for call hierarchy file requests 2020-08-07 21:04:51 +00:00
code_action.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
code_lens.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
command.go internal/lsp: add ListImports 2022-02-04 22:09:29 +00:00
completion.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +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: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
diagnostics.go internal/lsp: don't store diagnostics for builtin.go 2022-02-23 15:43:26 +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 internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +00:00
general.go internal/lsp: use placeholders with prepare rename 2022-02-15 00:29:01 +00:00
highlight.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
hover.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
implementation.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
link.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
lsp_test.go internal/lsp: use placeholders with prepare rename 2022-02-15 00:29:01 +00:00
references.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
rename.go internal/lsp: use placeholders with prepare rename 2022-02-15 00:29:01 +00:00
reset_golden.sh internal/lsp: fix regeneration of golden files 2019-09-25 13:16:59 +00:00
semantic.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +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: use placeholders with prepare rename 2022-02-15 00:29:01 +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: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
text_synchronization.go internal/lsp: signal diagnostic completion if modification failed 2021-07-13 20:49:08 +00:00
workspace.go gopls: remove the workspace_metadata command 2022-02-04 14:02:58 +00:00
workspace_symbol.go internal/lsp/source: add a new symbolStyle configuration option 2020-06-26 17:13:37 +00:00

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.