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

Reply via email to