move rmtree to anoia library
This commit is contained in:
20
pkgs/anoia/fs.fnl
Normal file
20
pkgs/anoia/fs.fnl
Normal file
@@ -0,0 +1,20 @@
|
||||
(local lfs (require :lfs))
|
||||
|
||||
(fn rmtree [pathname]
|
||||
(case (lfs.symlinkattributes pathname)
|
||||
nil true
|
||||
{:mode "directory"}
|
||||
(do
|
||||
(each [f (lfs.dir pathname)]
|
||||
(when (not (or (= f ".") (= f "..")))
|
||||
(rmtree ( .. pathname "/" f)))
|
||||
(lfs.rmdir pathname)))
|
||||
{:mode "file"}
|
||||
(os.remove pathname)
|
||||
{:mode "link"}
|
||||
(os.remove pathname)
|
||||
unknown
|
||||
(error (.. "can't remove " pathname " of kind \"" unknown.mode "\""))))
|
||||
|
||||
|
||||
{ : rmtree }
|
Reference in New Issue
Block a user