Files
fes/modules/lsp/util.go

37 lines
580 B
Go

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()
}