mirror of
https://github.com/urbit/shrub.git
synced 2024-12-01 06:35:32 +03:00
65 lines
1.6 KiB
Plaintext
65 lines
1.6 KiB
Plaintext
:: Describe available comands: +help, +help %tree, +help %hood
|
|
::
|
|
:::: /hoon/help/gen
|
|
::
|
|
/? 310
|
|
::
|
|
::::
|
|
::
|
|
|%
|
|
++ path-heps
|
|
|= a=path ^- tape
|
|
?~ a ""
|
|
|- ^- tape
|
|
%+ welp (trip i.a)
|
|
?~ t.a ""
|
|
['-' $(a t.a)]
|
|
::
|
|
++ rend
|
|
|= [a=@thoon b=path] ^- tank
|
|
=; c=(pair tape tape)
|
|
=/ tab (sub 10 (mod (lent "{p.c} ") 10))
|
|
[%palm [" {(reap tab ' ')}" ``~] leaf+p.c leaf+q.c ~]
|
|
:- ?- b
|
|
~ "/" :: XX !! maybe?
|
|
[%hood ^] "|{(path-heps t.b)}"
|
|
^ "+{(path-heps b)}" :: XX deal with :graph-store|foo
|
|
==
|
|
=/ c (to-wain:format a)
|
|
?~ c "~"
|
|
?. =(':: ' (end [3 4] i.c))
|
|
"<undocumented>"
|
|
(trip i.c)
|
|
::
|
|
++ read-at
|
|
|= [len=@u pax=path]
|
|
|= [nam=@t ark=arch] ^- (unit [@t path])
|
|
?. (~(has by dir.ark) %hoon) ~
|
|
%+ bind (file:space:userlib (welp pax /[nam]/hoon))
|
|
|= a=* ^- [cord path]
|
|
[;;(@t a) (welp (slag len pax) /[nam])]
|
|
--
|
|
::TODO: make this work with doccords
|
|
:- %say
|
|
|= [[now=time @ our=ship ^] typ=$@(~ [p=term ~]) ~]
|
|
=/ pax=path /(scot %p our)/base/(scot %da now)/gen :: XX hardcoded
|
|
=+ len=(lent pax)
|
|
=. pax ?~(typ pax (welp pax /[p.typ]))
|
|
:- %tang %- flop ^- tang
|
|
=+ ark=.^(arch cy+pax)
|
|
%+ welp
|
|
?~ typ ~
|
|
=/ red ((read-at len (scag len pax)) p.typ ark) :: XX ugly
|
|
(drop (bind red rend))
|
|
|- ^- tang
|
|
=+ =< arl=~(tap by (~(urn by dir.ark) .))
|
|
|=([a=@t ~] .^(arch cy+(welp pax /[a])))
|
|
%+ welp
|
|
=/ dir=(list [@ path])
|
|
(murn arl (read-at len pax))
|
|
`tang`(turn (sort dir aor) rend)
|
|
%- zing ^- (list tang)
|
|
%+ turn (sort arl aor)
|
|
|= [a=@t b=arch]
|
|
^$(pax (welp pax /[a]), ark b)
|