func RegisterAll(symbols interp.Exports) {
	for pkg, pkgSyms := range symbols {
		for pkgSym, value := range pkgSyms {
			Register(pkg, pkgSym, value)
		}
	}
}
RegisterAll invokes Register once for each symbol provided in the symbols
map.
package reloader
import (
	"context"
	"fmt"
	lpkg "log"
	"os"
	"os/exec"
	"path"
	"path/filepath"
	"reflect"
	"strings"
	"sync"
	"time"
	"github.com/fsnotify/fsnotify"
	"github.com/got-reload/got-reload/pkg/gotreload"
	"github.com/traefik/yaegi/interp"
	"github.com/traefik/yaegi/stdlib"
	"github.com/traefik/yaegi/stdlib/unrestricted"
	"golang.org/x/tools/go/packages"
)
const (
	PackageListEnv   = "GOT_RELOAD_PKGS"
	StartReloaderEnv = "GOT_RELOAD_START_RELOADER"
	SourceDirEnv     = "GOT_RELOAD_SOURCE_DIR"
)
var (
	log = lpkg.New(os.Stderr, "", lpkg.Lshortfile|lpkg.Lmicroseconds)
	WatchedPkgs = watchPackages()
	PkgsToDirs, DirsToPkgs = watchDirs()
	r gotreload.Rewriter
)
var RegisteredSymbols = interp.Exports{}
func Register(pkgName, ident string, val reflect.Value) {
	if RegisteredSymbols[pkgName] == nil {
		RegisteredSymbols[pkgName] = map[string]reflect.Value{}
	}
	RegisteredSymbols[pkgName][ident] = val
}