1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:04:44 -07:00
go/internal/lsp
Rohan Challa d6a4d55695 internal/lsp/cache: attach ModTidyHandle to snapshot instance
This change attaches a modTidyHandle to the snapshot instance and tries to reuse it as often as possible. It also modifies the modTidyKey to include the files that have not yet been saved. This was necessary because `go mod tidy` only runs using contents on disk.

So, if a user decides to add an import that is not in their modcache, we run diagnostics as normal and the ModTidyKey's imports field gets updated with the new import, we run `go mod tidy` but since the file was not saved yet, nothing changes. Then when the user eventually saves their file, we do not rerun `go mod tidy` because the imports hash has not changed from the time the file was in overlay to the time the file was saved on disk. To be able to account for this, we need the invalidate the ModTidyKey when imports change between saves.

Change-Id: I9e210a15cf009d222cecd7824c2a1a927957483b
Reviewed-on: https://go-review.googlesource.com/c/tools/+/219477
Run-TryBot: Rohan Challa <rohan@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-03-04 14:31:13 +00:00
..
browser
cache internal/lsp/cache: attach ModTidyHandle to snapshot instance 2020-03-04 14:31:13 +00:00
cmd internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
debug internal/telemetry: change tracing to be event based 2020-03-04 02:41:40 +00:00
diff internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
fake internal/lsp/regtest: implement formatting and organizeImports 2020-03-02 19:16:53 +00:00
fuzzy internal/lsp: make golint happy 2019-12-23 18:17:04 +00:00
helper internal/lsp: change to helper.go to output a formatted file 2020-01-31 20:35:38 +00:00
lsprpc internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
mod internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
protocol internal/telemetry: moving towards a unified event based exporter 2020-03-03 22:56:52 +00:00
regtest internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
telemetry internal/lsp: log snapshot IDs, don't log context cancellation 2020-01-27 19:20:44 +00:00
testdata internal/lsp: fix active param in signature help 2020-03-03 19:47:17 +00:00
tests internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00
code_action.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
command.go internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00
completion_test.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
completion.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
definition.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
diagnostics.go internal/telemetry: remove the concept of a Tagger 2020-03-03 22:56:24 +00:00
folding_range.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
format.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
general.go internal/lsp/lsprpc: clean up client session on disconnection 2020-02-24 23:23:05 +00:00
highlight.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
hover.go internal/lsp: support textDocument/hover for .mod extension 2020-02-26 15:59:49 +00:00
implementation.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
link.go internal/lsp: support textDocument/documentLink for .mod extension 2020-02-26 15:45:04 +00:00
lsp_test.go internal/lsp: move the debug.Instance onto the Context 2020-03-03 22:54:53 +00:00
references.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
rename.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
reset_golden.sh internal/lsp: fix regeneration of golden files 2019-09-25 13:16:59 +00:00
server_gen.go internal/lsp: change return type of PrepareRename to *Range 2020-02-13 20:00:52 +00:00
server.go internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00
signature_help.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
symbols.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
text_synchronization.go internal/lsp: clear diagnostics for deleted files 2020-02-19 20:26:41 +00:00
workspace_symbol.go internal/lsp: add support for workspace symbol 2020-02-05 19:03:17 +00:00
workspace.go internal/lsp: generate boilerplate stubs for type Server 2020-01-24 14:41:51 +00:00