go/internal
Shoshin Nikita d0768c9130 internal/lsp/source/completion: suggest only valid package names
Before this change directory names were used "as is" for package completion.
It could lead to invalid suggestions (for example, 'package 1abc' or package 'ab-cd').

This change adds a check whether a directory name can be used in a package path.
If the directory name is invalid, only 'package main' will be suggested.
Otherwise, the directory name will be normalized and will be used as a package name.

Note: normalized directory names contain only lower case letters and digits.

Fixes golang/go#44680

Change-Id: I4b710f90d1723c512e29dc3c248a1e681f1cd37f
GitHub-Last-Rev: 8ae69f1c6fdf80831e5773bdb3507a8d51a4a0cf
GitHub-Pull-Request: golang/tools#310
Reviewed-on: https://go-review.googlesource.com/c/tools/+/313092
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Trust: Rebecca Stambler <rstambler@golang.org>
Trust: Peter Weinberger <pjw@google.com>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
2021-04-27 19:53:45 +00:00
..
analysisinternal internal/lsp/fuzzy: fix return value on no match 2020-08-28 15:37:48 +00:00
apidiff all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
event internal/event/label: prevent unsafe get of non-string 2021-03-29 12:54:38 +00:00
fakenet internal/fakenet: add a fake network connection 2020-05-27 14:27:59 +00:00
fastwalk x/tools/internal/fastwalk: fixes "interrupted system call" error 2021-02-24 01:32:32 +00:00
gocommand internal/lsp: re-enable upgrades for individual dependencies 2021-02-01 17:10:16 +00:00
gopathwalk internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
imports all: recognize new error from go command when no go.mod is found 2021-03-04 22:10:16 +00:00
jsonrpc2 internal/jsonrpc2: remove unused invalidID constant 2021-02-04 15:49:51 +00:00
jsonrpc2_v2 internal/jsonrpc2_v2: move the idle timeout handling out of the server 2021-03-30 14:25:40 +00:00
lsp internal/lsp/source/completion: suggest only valid package names 2021-04-27 19:53:45 +00:00
memoize internal/memoize: add a final argument to Bind for cleaning up 2020-10-30 19:59:21 +00:00
packagesinternal internal/lsp/cache: disable network for mod tidy diagnostics 2021-02-05 19:41:14 +00:00
proxydir all: remove version-specific test files 2020-05-28 17:13:50 +00:00
span internal/lsp/cache: parse filenames from go list errors correctly 2021-03-02 01:39:30 +00:00
stack internal/stack: add the leak test 2020-05-27 14:25:42 +00:00
testenv all: go fmt ./... 2021-02-20 03:28:52 +00:00
tool
typesinternal internal/typesinternal: sync error codes with go1.16 2021-02-16 20:01:04 +00:00
xcontext