30 lines
472 B
Go
30 lines
472 B
Go
package fs
|
|
|
|
import (
|
|
"os"
|
|
"path"
|
|
"sort"
|
|
)
|
|
|
|
func LsD(d string) ([]string, error) {
|
|
return ls(d, true)
|
|
}
|
|
|
|
func LsF(d string) ([]string, error) {
|
|
return ls(d, false)
|
|
}
|
|
|
|
func ls(d string, dirs bool) ([]string, error) {
|
|
entries, err := os.ReadDir(d)
|
|
|
|
results := make([]string, 0, len(entries))
|
|
for i := range entries {
|
|
if dirs == entries[i].IsDir() {
|
|
results = append(results, path.Join(d, entries[i].Name()))
|
|
}
|
|
}
|
|
sort.Strings(results)
|
|
|
|
return results, err
|
|
}
|