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

[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)
-- S1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 25,
			"column": 6,
			"offset": 521
		},
		"end": {
			"line": 25,
			"column": 8,
			"offset": 523
		}
	},
	"description": "```go\nS1 struct {\n\tF1  int //@mark(S1F1, \"F1\")\n\tS2      //@godef(\"S2\", S2),mark(S1S2, \"S2\")\n\ta.A     //@godef(\"A\", AString)\n}\n```\n\n[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)"
}

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

[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)
-- S1F1-definition --
godef/b/b.go:26: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#S1.F1)

\@mark\(S1F1, \"F1\"\)
-- S1F1-definition-json --
{
	"span": {
		"uri": "file://godef/b/b.go",
		"start": {
			"line": 26,
			"column": 2,
			"offset": 540
		},
		"end": {
			"line": 26,
			"column": 4,
			"offset": 542
		}
	},
	"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#S1.F1)\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)"
}

-- S1F1-hover --
```go
field F1 int
```

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

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