mirror of
https://github.com/urbit/shrub.git
synced 2024-12-11 23:48:22 +03:00
84 lines
2.2 KiB
Plaintext
84 lines
2.2 KiB
Plaintext
::
|
|
:::: /hoon/effect/sole/mar
|
|
::
|
|
/? 310
|
|
/- sole
|
|
!:
|
|
::::
|
|
::
|
|
[sole .]
|
|
|%
|
|
++ mar-sole-change :: XX dependency
|
|
|_ cha/sole-change
|
|
++ grow
|
|
|% ++ json
|
|
^- ^json
|
|
=+ cha
|
|
=< (jobe ted+(. ted) ler+a+~[(jone own.ler) (jone his.ler)] ~)
|
|
|= det/sole-edit
|
|
?- -.det
|
|
$nop [%s 'nop']
|
|
$mor [%a (turn p.det ..$)]
|
|
$del (joba %del (jone p.det))
|
|
$set (joba %set (jape (tufa p.det)))
|
|
$ins (joba %ins (jobe at+(jone p.det) cha+s+(tuft q.det) ~))
|
|
==
|
|
--
|
|
--
|
|
++ wush
|
|
|= {wid/@u tan/tang}
|
|
^- tape
|
|
=+ rolt=|=(a/wall `tape`?~(a ~ ?~(t.a i.a :(weld i.a "\0a" $(a t.a)))))
|
|
(rolt (turn (flop tan) |=(a/tank (rolt (wash 0^wid a)))))
|
|
::
|
|
++ purge :: discard ++styx style
|
|
|= a/styx ^- tape
|
|
%- zing %+ turn a
|
|
|= a/_?>(?=(^ a) i.a)
|
|
?@(a (trip a) ^$(a q.a))
|
|
--
|
|
!:
|
|
|_ sef/sole-effect
|
|
::
|
|
++ grab :: convert from
|
|
|%
|
|
++ noun sole-effect :: clam from %noun
|
|
--
|
|
++ grow
|
|
|%
|
|
++ lens-json :: json for cli client
|
|
^- ?($~ ^json) :: null = ignore
|
|
?+ -.sef ~
|
|
$tan s+(role (turn (flop p.sef) |=(a/tank (crip ~(ram re a)))))
|
|
$txt s+(crip p.sef)
|
|
$sav
|
|
(jobe file+s+(crip <`path`p.sef>) data+s+(crip (sifo q.sef)) ~)
|
|
::
|
|
$mor
|
|
=+ all=(turn p.sef |=(a/sole-effect lens-json(sef a)))
|
|
=. all (skip all |=(a/^json ?=($~ a)))
|
|
?~ all ~
|
|
?~ t.all i.all
|
|
~|(multiple-effects+`(list ^json)`all !!)
|
|
==
|
|
::
|
|
++ json
|
|
^- ^json
|
|
?+ -.sef
|
|
~|(unsupported-effect+-.sef !!)
|
|
$mor [%a (turn p.sef |=(a/sole-effect json(sef a)))]
|
|
$err (joba %hop (jone p.sef))
|
|
$txt (joba %txt (jape p.sef))
|
|
$tan (joba %tan (jape (wush 160 p.sef)))
|
|
$det (joba %det json:~(grow mar-sole-change +.sef))
|
|
::
|
|
$pro
|
|
%+ joba %pro
|
|
(jobe vis+b+vis.sef tag+s+tag.sef cad+(jape (purge cad.sef)) ~)
|
|
::
|
|
?($bel $clr $nex)
|
|
(joba %act %s -.sef)
|
|
==
|
|
--
|
|
--
|