gotools/gopls/internal/test/marker/testdata/diagnostics/addgowork.txt

This test demonstrates diagnostics for adding a go.work file.

Quick-fixes change files on disk, so are tested by integration tests.

TODO(rfindley): improve the "cannot find package" import errors.

-- skip --
These diagnostics are no longer produced, because in golang/go#57979
(zero-config gopls) we made gopls function independent of a go.work file.
Preserving this test as we may want to re-enable the code actions go manage
a go.work file.

Note that in go.dev/issue/60584#issuecomment-1622238115, this test was flaky.
However, critical error logic has since been rewritten.

-- a/go.mod --
module mod.com/a

go 1.18

-- a/main.go --
package main //@diag("main", re"add a go.work file")

import "mod.com/a/lib" //@diag("\"mod.com", re"cannot find package")

func main() {
	_ = lib.C
}

-- a/lib/lib.go --
package lib //@diag("lib", re"add a go.work file")

const C = "b"
-- b/go.mod --
module mod.com/b

go 1.18

-- b/main.go --
package main //@diag("main", re"add a go.work file")

import "mod.com/b/lib" //@diag("\"mod.com", re"cannot find package")

func main() {
	_ = lib.C
}

-- b/lib/lib.go --
package lib //@diag("lib", re"add a go.work file")

const C = "b"