1
0
mirror of https://github.com/golang/go synced 2024-10-01 05:18:33 -06:00
go/internal/lsp/cache
Rebecca Stambler a7dab0268b internal/lsp: diagnose the snapshot on every text synchronization event
This change moves to our ultimate approach of diagnostics the snapshot
on every file change, instead of carefully picking which files and
packages to diagnose. Analyses are shown for packages whose files are
open in the editor. Reverse dependencies are no longer needed for
source.Diagnostics because they will be invalidated when the snapshot is
cloned, so diagnosing the entire snapshot will bring them up to date.

This even works for go.mod files because all of workspace-level `go list`s
will be canceled as the user types, and then we trigger an uncancellable
go/packages.Load when the user saves. There is still room for improvement
here, but it will require much more careful invalidation of metadata for
go.mod files.

Change-Id: Id068505634b5e701c6f861a61b09a4c6704c565f
Reviewed-on: https://go-review.googlesource.com/c/tools/+/214419
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-01-15 23:07:48 +00:00
..
analysis.go internal/lsp: finish renaming CheckPackageHandle to PackageHandle 2020-01-14 23:56:10 +00:00
cache.go internal/lsp: stop requiring file kind when fetching a file 2020-01-09 21:19:36 +00:00
check.go internal/lsp: finish renaming CheckPackageHandle to PackageHandle 2020-01-14 23:56:10 +00:00
debug.go internal/lsp: don't clear file contents on save 2019-12-19 23:08:27 +00:00
error_test.go internal/lsp: refactor error handling code in type-checking 2019-10-21 18:57:46 +00:00
errors.go internal/lsp: use URIs instead of FileIdentity in errors 2020-01-14 19:14:11 +00:00
external.go internal/lsp: stop requiring file kind when fetching a file 2020-01-09 21:19:36 +00:00
load.go internal/lsp: diagnose the snapshot on every text synchronization event 2020-01-15 23:07:48 +00:00
modfiles.go internal/lsp: push initialization tasks into one function 2020-01-15 04:46:56 +00:00
overlay.go internal/lsp: fix support for watching changed files 2020-01-13 19:19:55 +00:00
parse_mod.go internal/lsp: add mapper for go.mod files 2020-01-14 22:04:35 +00:00
parse.go internal/lsp: don't invalidate workspace when a mod file is opened 2020-01-10 21:20:43 +00:00
pkg.go internal/lsp: load metadata for a single package ID, when needed 2019-12-30 21:09:35 +00:00
session.go internal/lsp: push initialization tasks into one function 2020-01-15 04:46:56 +00:00
snapshot.go internal/lsp: diagnose the snapshot on every text synchronization event 2020-01-15 23:07:48 +00:00
view.go internal/lsp/cache: refactor initialization for builtins 2020-01-15 21:04:26 +00:00