package lsp import ( "embed" "os" "path/filepath" ) func fsWalkDir(fs embed.FS, root string, fn func(string) error) error { entries, err := fs.ReadDir(root) if err != nil { return err } for _, e := range entries { p := filepath.Join(root, e.Name()) if err := fn(p); err != nil { return err } if e.IsDir() { if err := fsWalkDir(fs, p, fn); err != nil { return err } } } return nil } func fsStat(fs embed.FS, path string) (os.FileInfo, error) { f, err := fs.Open(path) if err != nil { return nil, err } defer f.Close() return f.Stat() }