::  ConCATenate file listings
::  
::::  /hook/core/cat/app
  ::
/+    sh-utils
//  /%%%/ls/subdir
!:
::::
  ::
|_  [hid=hide ~]
++  peer  ,_`.
++  poke--args
  %+  args-into-gate  .
  |=  [arg=(list path)]
  =-  tang/(flop `(list tank)`(zing -))
  %+  turn  arg
  |=  pax=path
  ^-  (list tank)
  =+  ark=;;(arch .^(%cy pax))
  ?^  q.ark
    :-  leaf/(spud pax)
    %+  turn  (lore ;;(@t .^(%cx pax)))
    |=(a=cord leaf/(trip a))
  ?-     r.ark                                          ::  handle ambiguity
      ~
    [rose/[" " `~]^~[leaf/"~" (smyt pax)]]~
      [[@t ~] ~ ~]
    $(pax (welp pax /[p.n.r.ark]))
      *
    =-  [palm/[": " ``~]^-]~
    :~  rose/[" " `~]^~[leaf/"*" (smyt pax)] 
        `tank`(subdir pax r.ark)
    ==
  ==
--