mirror of
https://github.com/urbit/shrub.git
synced 2024-12-19 16:51:42 +03:00
55 lines
1.0 KiB
Plaintext
55 lines
1.0 KiB
Plaintext
/- hood
|
|
|_ =diff:hood
|
|
++ grad %noun
|
|
++ grow
|
|
|%
|
|
++ noun diff
|
|
++ json
|
|
=, enjs:format
|
|
|^
|
|
%+ frond -.diff
|
|
?- -.diff
|
|
%block (block +.diff)
|
|
?(%merge-sunk %merge-fail) (desk-arak-err +.diff)
|
|
?(%reset %commit %suspend %revive) (desk-arak +.diff)
|
|
==
|
|
::
|
|
++ block
|
|
|= [=desk =arak:hood =weft:hood blockers=(set desk)]
|
|
%+ merge (desk-arak desk arak)
|
|
%- pairs
|
|
:~ weft+(weft:enjs:hood weft)
|
|
blockers+a+(turn ~(tap in blockers) (lead %s))
|
|
==
|
|
::
|
|
++ desk-arak
|
|
|= [=desk =arak:hood]
|
|
%- pairs
|
|
:~ desk+s+desk
|
|
arak+(arak:enjs:hood arak)
|
|
==
|
|
::
|
|
++ desk-arak-err
|
|
|= [=desk =arak:hood =tang]
|
|
%+ merge (desk-arak desk arak)
|
|
%+ frond %tang
|
|
a+(turn tang tank)
|
|
::
|
|
++ merge
|
|
|= [a=^json b=^json]
|
|
^- ^json
|
|
?> &(?=(%o -.a) ?=(%o -.b))
|
|
o+(~(uni by p.a) p.b)
|
|
--
|
|
--
|
|
++ grab
|
|
|%
|
|
++ noun diff:hood
|
|
--
|
|
--
|
|
|
|
|
|
|
|
|
|
|