| This test checks that gopls works with modules that aren't included in the |
| workspace file. |
| |
| -- go.work -- |
| go 1.20 |
| |
| use ( |
| ./a |
| ./b |
| ) |
| |
| -- a/go.mod -- |
| module golang.org/lsptests/a |
| |
| go 1.18 |
| |
| -- a/a.go -- |
| package a |
| |
| import ( |
| "fmt" |
| "golang.org/lsptests/a/lib" |
| ) |
| |
| func _() { |
| fmt.Println(lib.Msg) //@def("Msg", aMsg) |
| fmt.Println(undef) //@diag("undef", re"undefined|undeclared") |
| } |
| |
| -- a/lib/lib.go -- |
| package lib |
| |
| const Msg = "hi" //@loc(aMsg, "Msg") |
| |
| -- b/go.mod -- |
| module golang.org/lsptests/b |
| |
| go 1.18 |
| |
| -- b/b.go -- |
| package b |
| |
| import ( |
| "fmt" |
| "golang.org/lsptests/b/lib" |
| ) |
| |
| func main() { |
| fmt.Println(lib.Msg) //@def("Msg", bMsg) |
| fmt.Println(undef) //@diag("undef", re"undefined|undeclared") |
| } |
| |
| -- b/lib/lib.go -- |
| package lib |
| |
| const Msg = "hi" //@loc(bMsg, "Msg") |
| |
| -- c/go.mod -- |
| module golang.org/lsptests/c |
| |
| go 1.18 |
| |
| -- c/c.go -- |
| package c |
| |
| import ( |
| "fmt" |
| "golang.org/lsptests/c/lib" |
| ) |
| |
| func main() { |
| fmt.Println(lib.Msg) //@def("Msg", cMsg) |
| fmt.Println(undef) //@diag("undef", re"undefined|undeclared") |
| } |
| |
| -- c/lib/lib.go -- |
| package lib |
| |
| const Msg = "hi" //@loc(cMsg, "Msg") |