Use `os.walkDir` and an idea like:
import std / [os, sets, sequtils]
proc fileExt(dir: string; res: var Hashset[string]) =
for k, f in walkDir(dir):
if k == pcFile: res.incl splitFile(f).ext
elif k == pcDir: fileExt(f, res)
proc fileExt(dir: string): seq[string] =
var res = initHashSet[string]()
fileExt dir, res
result = toSeq(res)
Run
- A strange behavior in seq Tina
- A strange behavior in seq Araq
