go/internal/lsp
Robert Findley de3ef4aa45 internal/lsp/source: remove workaround for newline terminated files
Eliminate the need to work around newline terminated files in
completion, by storing selection ranges as token.Pos and using an
lsppos.TokenMapper derived from the file content, which does not have
problems with newline termination.

This simplifies the completion logic, and removes the last use of
MappedRange.SpanRange, which is an inconisitent API in that it returns
positions in the compiled source, rather than edited source.

Change-Id: I65232787956325172b48fd42d85cbb598039ee5a
Reviewed-on: https://go-review.googlesource.com/c/tools/+/407889
Reviewed-by: Alan Donovan <adonovan@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
2022-06-01 15:40:59 +00:00
..
analysis internal/lsp/analysis/stubmethods: recognize *ast.CallExpr 2022-05-17 17:04:34 +00:00
browser
bug internal/lsp: add missing bug reporting, and panic during marker tests 2022-05-31 14:14:38 +00:00
cache internal/lsp/cache: invalidate metadata when parsing issues resolve 2022-05-23 18:14:40 +00:00
cmd internal/lsp: add missing bug reporting, and panic during marker tests 2022-05-31 14:14:38 +00:00
command gopls/internal/vulncheck: copy logic of govulncheck -html 2022-05-12 21:17:31 +00:00
debug internal/lsp/bug: add a package for bug reporting 2022-05-16 14:45:30 +00:00
diff
fake gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
fuzzy gopls, internal/lsp: gofmt 2022-04-12 17:41:31 +00:00
helper internal/lsp/protocol: update LSP definitions and stubs 2021-10-05 16:44:45 +00:00
lsppos internal/lsp: factor out go/token wrapper into a safetoken package 2022-05-09 17:03:37 +00:00
lsprpc gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
mod gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
progress gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
protocol gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
regtest internal/lsp/regtest: only print RPC logs if asked 2022-05-17 21:46:20 +00:00
safetoken internal/lsp: factor out go/token wrapper into a safetoken package 2022-05-09 17:03:37 +00:00
snippet lsp/completion: fix literal completions with type params 2022-04-26 02:30:39 +00:00
source internal/lsp/source: remove workaround for newline terminated files 2022-06-01 15:40:59 +00:00
template internal/lsp: fix source.CompareDiagnostic asymmetry 2022-05-11 17:43:03 +00:00
testdata internal/lsp/analysis/stubmethods: recognize *ast.CallExpr 2022-05-17 17:04:34 +00:00
tests internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +00:00
work gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
README.md
call_hierarchy.go
code_action.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +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 gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
completion.go internal/lsp/source: remove workaround for newline terminated files 2022-06-01 15:40:59 +00:00
completion_test.go
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: use the correct converter for mapped range offsets 2022-06-01 15:32:54 +00:00
diagnostics.go internal/lsp: add missing bug reporting, and panic during marker tests 2022-05-31 14:14:38 +00:00
folding_range.go
format.go internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +00:00
general.go internal/lsp: add an option to get notified of bug reports 2022-05-18 01:40:46 +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: add hover for go.work use statements 2022-03-04 19:55:36 +00:00
implementation.go
link.go internal/lsp: only linkify urls with http, https, and ftp schemes 2022-05-02 22:00:12 +00:00
lsp_test.go internal/lsp: add missing bug reporting, and panic during marker tests 2022-05-31 14:14:38 +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
semantic.go internal/lsp: factor out go/token wrapper into a safetoken package 2022-05-09 17:03:37 +00:00
server.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
server_gen.go internal/lsp: update LSP stubs, including provisional InlayHints 2022-03-16 22:16:36 +00:00
signature_help.go
symbols.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
text_synchronization.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
workspace.go gopls: remove usage of golang.org/x/xerrors 2022-04-20 15:33:22 +00:00
workspace_symbol.go

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.