github.com/gotranspile/cxgo@v0.3.8-0.20240118201721-29871598a6a2/libs/reglibs.go (about)

     1  package libs
     2  
     3  import (
     4  	"embed"
     5  	"io/fs"
     6  	"strings"
     7  )
     8  
     9  //go:embed includes
    10  var efs embed.FS
    11  
    12  func init() {
    13  	const root = "includes"
    14  	err := fs.WalkDir(efs, root, func(path string, d fs.DirEntry, err error) error {
    15  		if err != nil {
    16  			return err
    17  		} else if d.IsDir() {
    18  			return nil
    19  		}
    20  		data, err := efs.ReadFile(path)
    21  		if err != nil {
    22  			return err
    23  		}
    24  		fname := strings.TrimPrefix(path, root+"/")
    25  		RegisterLibrarySrc(fname, string(data))
    26  		return nil
    27  	})
    28  	if err != nil {
    29  		panic(err)
    30  	}
    31  }