1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:14:46 -07:00
go/internal/lsp
Danish Dua b793a1359e internal/lsp: add outgoing calls call hierarchy
* Adds outgoing calls call hierarchy for function declarations to gopls. Returns all call ranges and call items for functions/literals being called.
* Adds tests for outgoing call.
* Updates cmd to account for call ranges and call items being in different files for outgoing calls.
* Updates prepare call hierarchy to return declaration as root instead of cursor position.

Example:
Example shows https://github.com/golang/tools/blob/master/internal/lsp/source/call_hierarchy.go

Show Call Hierarchy View: https://imgur.com/a/DA5vc6l
Peek Call Hierarchy View: https://imgur.com/a/fuiG0Be

Note:
* While incoming calls for a function defined in an interface return references to that function, outgoing calls don't return anything since we don't know what implementation to return outgoing calls for.* Outgoing calls to function literals show as variable name used to define the literal, compared to <scope>.func() for incoming calls.

Change-Id: Ib8afbd8617675d12952db0b80170ada5988e90ab
Reviewed-on: https://go-review.googlesource.com/c/tools/+/248537
Run-TryBot: Danish Dua <danishdua@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-08-20 01:08:01 +00:00
..
analysis internal/lsp: enhance fillstruct and fillreturns to fill with variables 2020-08-10 18:49:36 +00:00
browser
cache internal/lsp/cache: don't always type check in default mode 2020-08-19 19:22:15 +00:00
cmd internal/lsp: add outgoing calls call hierarchy 2020-08-20 01:08:01 +00:00
debug internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
diff internal/testenv: check that external 'diff' tool is the GNU version 2020-05-08 20:46:49 +00:00
fake internal/lsp: add a configuration to limit workspace scope to root URI 2020-08-11 01:57:04 +00:00
fuzzy internal/lsp: fix errors found by staticcheck 2020-03-19 19:20:54 +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/cmd: make -remote consistent across commands 2020-08-12 19:50:22 +00:00
mod internal/lsp/mod: add go mod vendor and go mod tidy lenses 2020-08-18 00:58:47 +00:00
protocol internal/lsp/protocol/typescript: clean up type gen documentation 2020-08-08 14:55:51 +00:00
regtest internal/lsp/cache: don't always type check in default mode 2020-08-19 19:22:15 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/lsp: add outgoing calls call hierarchy 2020-08-20 01:08:01 +00:00
testdata internal/lsp: add outgoing calls call hierarchy 2020-08-20 01:08:01 +00:00
tests internal/lsp: add outgoing calls call hierarchy 2020-08-20 01:08:01 +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/cache: don't always type check in default mode 2020-08-19 19:22:15 +00:00
code_lens.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
command.go internal/lsp/cache: don't always type check in default mode 2020-08-19 19:22:15 +00:00
completion_test.go internal/lsp/source: improve completion in append() 2020-08-15 16:31:36 +00:00
completion.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
definition.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
diagnostics.go internal/lsp: improve handling of non-Go folders 2020-08-17 19:03:02 +00:00
folding_range.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
format.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
general.go internal/lsp: add initial workspace load notification 2020-08-14 23:09:02 +00:00
highlight.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
hover.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
implementation.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
link.go internal/lsp/cache: don't always type check in default mode 2020-08-19 19:22:15 +00:00
lsp_test.go internal/lsp: add outgoing calls call hierarchy 2020-08-20 01:08:01 +00:00
progress_test.go internal/lsp/progress: refactor progress reporting 2020-08-10 15:18:52 +00:00
progress.go internal/lsp/progress: refactor progress reporting 2020-08-10 15:18:52 +00:00
references.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
rename.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +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/progress: refactor progress reporting 2020-08-10 15:18:52 +00:00
server.go internal/lsp: lowercase drive letters on Windows to fix file watching 2020-08-12 18:32:13 +00:00
signature_help.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
symbols.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
text_synchronization.go internal/lsp: remove extra go env GOMOD logic for single file mode 2020-08-11 17:27:22 +00:00
workspace_symbol.go internal/lsp/source: add a new symbolStyle configuration option 2020-06-26 17:13:37 +00:00
workspace.go internal/memoize: switch from GC-driven to explicit deletion 2020-08-10 19:02:17 +00:00