urbit/gen/ls/subdir.hoon
2016-01-28 19:05:36 -05:00

21 lines
475 B
Plaintext

|%
++ subdir
|= [vane=?(%c %g) pax=path des=(map ,@t ,~)]
^- tank
:+ %rose [" " `~]
%+ turn (sort (~(tap by des)) aor)
|= [kid=@ta ~]
=+ paf=`path`/[kid]
=- :+ %rose ["/" ~ ?:(dir "/" ~)]
(turn paf |=(a=span leaf/(trip a)))
|- ^- [dir=? paf=path]
=+ arf=;;(arch .^((cat 3 vane %y) (weld pax paf)))
?^ fil.arf
[| paf]
?~ dir.arf
[& paf] :: !!
?. ?=([^ ~ ~] dir.arf)
[& paf]
$(paf (welp paf /[p.n.dir.arf]))
--