-- S1-definition --
godef/b/b.go:27:6-8: defined here as ```go
type S1 struct {
	F1     int //@mark(S1F1, "F1")
	S2         //@godef("S2", S2),mark(S1S2, "S2")
	a.A        //@godef("A", AString)
	aAlias     //@godef("a", aAlias)
}
```

[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1)
-- S1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 27,
			"column": 6,
			"offset": 587
		},
		"end": {
			"line": 27,
			"column": 8,
			"offset": 589
		}
	},
	"description": "```go\ntype S1 struct {\n\tF1     int //@mark(S1F1, \"F1\")\n\tS2         //@godef(\"S2\", S2),mark(S1S2, \"S2\")\n\ta.A        //@godef(\"A\", AString)\n\taAlias     //@godef(\"a\", aAlias)\n}\n```\n\n[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1)"
}

-- S1-hoverdef --
```go
type S1 struct {
	F1     int //@mark(S1F1, "F1")
	S2         //@godef("S2", S2),mark(S1S2, "S2")
	a.A        //@godef("A", AString)
	aAlias     //@godef("a", aAlias)
}
```

[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1)
-- S1F1-definition --
godef/b/b.go:28:2-4: defined here as ```go
field F1 int
```

[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)

\@mark\(S1F1, \"F1\"\)
-- S1F1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 28,
			"column": 2,
			"offset": 606
		},
		"end": {
			"line": 28,
			"column": 4,
			"offset": 608
		}
	},
	"description": "```go\nfield F1 int\n```\n\n[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)"
}

-- S1F1-hoverdef --
```go
field F1 int
```

[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)

\@mark\(S1F1, \"F1\"\)
