1
0
mirror of https://github.com/golang/go synced 2024-11-18 21:44:45 -07:00
go/internal/lsp
Muir Manders 5e3480f0e0 internal/lsp: start handling watched file deletes
Now when a file is deleted we force the file's packages to refresh
go/packages metadata, and kick off diagnostics.

I made a couple other changes to watched file handling:
- Kick off diagnostics in a goroutine to match how DidChange works.
  This will allow us to work through big sets of file changes faster,
  and will save duplicated work once type checking can be canceled.
- Don't assume a watched file is only part of one view.

Two interesting cases we don't handle yet:
- If the deleted file was the only file in the package, we don't
  currently update diagnostics for dependent packages. This requires
  rejiggering how diagnostics are invoked a bit.
- If the deleted file is still open in the editor and then later
  closed, we don't trigger metadata/diagnostics refresh on DidClose.

Updates golang/go#31553

Change-Id: I65768614c24d9800ffea149ccdbdbd3cb7b2f3d8
Reviewed-on: https://go-review.googlesource.com/c/tools/+/193121
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Cottrell <iancottrell@google.com>
2019-09-10 20:08:16 +00:00
..
browser internal/lsp: add version and bug commands 2019-05-11 04:16:02 +00:00
cache internal/lsp: start handling watched file deletes 2019-09-10 20:08:16 +00:00
cmd internal/lsp: enable suggested fixes by default 2019-09-09 19:40:07 +00:00
debug internal/telemetry: add the ability to flush telemetry data 2019-08-21 16:29:56 +00:00
diff internal/lsp/diff: rewrite ApplyEdits to work with sub-line diffs 2019-09-09 18:07:23 +00:00
fuzzy internal/lsp: add fuzzy completion matching 2019-08-14 16:13:50 +00:00
protocol x/tools/gopls: convert to the august, 2019 version of the LSP protocol 2019-09-08 13:59:31 +00:00
snippet internal/lsp: simplify snippet config/generation 2019-09-10 04:45:52 +00:00
source internal/lsp: start handling watched file deletes 2019-09-10 20:08:16 +00:00
telemetry internal/lsp/cache: add additional spans for tracing 2019-09-05 21:33:45 +00:00
testdata internal/imports: fix mkstdlib, run for go1.13 2019-09-10 19:51:17 +00:00
tests internal/lsp: fix completion for nested *ast.BadStmt 2019-09-10 16:55:22 +00:00
code_action.go internal/lsp: enable suggested fixes by default 2019-09-09 19:40:07 +00:00
completion.go internal/lsp: simplify snippet config/generation 2019-09-10 04:45:52 +00:00
definition.go x/tools/gopls: convert to the august, 2019 version of the LSP protocol 2019-09-08 13:59:31 +00:00
diagnostics.go internal/lsp: move configuration options to structs 2019-09-06 17:30:54 +00:00
folding_range.go internal/lsp: switch folding range to protocol ranges 2019-09-06 18:26:38 +00:00
format.go internal/lsp: change to protocol.TextEdit for formatting 2019-09-06 17:54:09 +00:00
general.go internal/lsp: only build a view when we have its configuration 2019-09-10 14:40:41 +00:00
highlight.go x/tools/gopls: convert to the august, 2019 version of the LSP protocol 2019-09-08 13:59:31 +00:00
hover.go x/tools/gopls: convert to the august, 2019 version of the LSP protocol 2019-09-08 13:59:31 +00:00
link.go internal/lsp: remove the GetToken and GetAST functions 2019-09-09 18:10:35 +00:00
lsp_test.go internal/lsp: only build a view when we have its configuration 2019-09-10 14:40:41 +00:00
references.go internal/lsp: remove the GetToken and GetAST functions 2019-09-09 18:10:35 +00:00
rename.go x/tools/gopls: convert to the august, 2019 version of the LSP protocol 2019-09-08 13:59:31 +00:00
reset_golden.sh internal/lsp: fix definition tests to use golden files 2019-05-10 21:06:55 +00:00
server.go internal/lsp: only build a view when we have its configuration 2019-09-10 14:40:41 +00:00
signature_help.go x/tools/gopls: convert to the august, 2019 version of the LSP protocol 2019-09-08 13:59:31 +00:00
symbols.go internal/lsp: switch to using protocol positions for document symbols 2019-09-06 18:11:17 +00:00
text_synchronization.go internal/lsp: move configuration options to structs 2019-09-06 17:30:54 +00:00
util.go internal/lsp: use protocol.TextEdits in suggested fixes 2019-09-07 02:01:28 +00:00
watched_files.go internal/lsp: start handling watched file deletes 2019-09-10 20:08:16 +00:00
workspace.go internal/lsp: only build a view when we have its configuration 2019-09-10 14:40:41 +00:00