// isGoWork reports if uri is a go.work file. func isGoWork(uri protocol.DocumentURI) bool { … } // goWorkModules returns the URIs of go.mod files named by the go.work file. func goWorkModules(ctx context.Context, gowork protocol.DocumentURI, fs file.Source) (map[protocol.DocumentURI]unit, error) { … } // localModFiles builds a set of local go.mod files referenced by // goWorkOrModPaths, which is a slice of paths as contained in a go.work 'use' // directive or go.mod 'replace' directive (and which therefore may use either // '/' or '\' as a path separator). func localModFiles(relativeTo string, goWorkOrModPaths []string) map[protocol.DocumentURI]unit { … } // isGoMod reports if uri is a go.mod file. func isGoMod(uri protocol.DocumentURI) bool { … } // goModModules returns the URIs of "workspace" go.mod files defined by a // go.mod file. This set is defined to be the given go.mod file itself, as well // as the modfiles of any locally replaced modules in the go.mod file. func goModModules(ctx context.Context, gomod protocol.DocumentURI, fs file.Source) (map[protocol.DocumentURI]unit, error) { … } // fileExists reports whether the file has a Content (which may be empty). // An overlay exists even if it is not reflected in the file system. func fileExists(fh file.Handle) bool { … } var errExhausted … const fileLimit …