internal/lsp: treat struct tags as string type
For golang/go#54066
Change-Id: Ia4f0bf0b4d76743a7f4fafc375859db7184753fb
Reviewed-on: https://go-review.googlesource.com/c/tools/+/419498
Reviewed-by: Peter Weinberger <pjw@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
diff --git a/internal/lsp/semantic.go b/internal/lsp/semantic.go
index 429dc06..f0c4a11 100644
--- a/internal/lsp/semantic.go
+++ b/internal/lsp/semantic.go
@@ -299,11 +299,6 @@
what := tokNumber
if x.Kind == token.STRING {
what = tokString
- if _, ok := e.stack[len(e.stack)-2].(*ast.Field); ok {
- // struct tags (this is probably pointless, as the
- // TextMate grammar will treat all the other comments the same)
- what = tokComment
- }
}
e.token(x.Pos(), ln, what, nil)
case *ast.BinaryExpr:
diff --git a/internal/lsp/testdata/semantic/a.go.golden b/internal/lsp/testdata/semantic/a.go.golden
index 19dd412..071dd17 100644
--- a/internal/lsp/testdata/semantic/a.go.golden
+++ b/internal/lsp/testdata/semantic/a.go.golden
@@ -27,7 +27,7 @@
)
/*⇒4,keyword,[]*/type /*⇒1,type,[definition]*/A /*⇒6,keyword,[]*/struct {
- /*⇒1,variable,[definition]*/X /*⇒3,type,[defaultLibrary]*/int /*⇒6,comment,[]*/`foof`
+ /*⇒1,variable,[definition]*/X /*⇒3,type,[defaultLibrary]*/int /*⇒6,string,[]*/`foof`
}
/*⇒4,keyword,[]*/type /*⇒1,type,[definition]*/B /*⇒9,keyword,[]*/interface {
/*⇒1,type,[]*/A