mirror of
https://github.com/urbit/shrub.git
synced 2024-12-19 00:13:12 +03:00
27d6fc7597
Unflops the spur in +en-beam, +de-beam, and everything that calls either of those, or works with the consequences of their output. This includes clay's interface for mounting and unmounting, which now no longer expects the arguments to contain an old-style spur.
31 lines
790 B
Plaintext
31 lines
790 B
Plaintext
/- spider
|
|
/+ strandio
|
|
=, strand=strand:spider
|
|
^- thread:spider
|
|
|= arg=vase
|
|
=/ m (strand ,vase)
|
|
^- form:m
|
|
|^
|
|
=+ !<([=a=path =b=path ~] arg)
|
|
=/ a-mark=mark -:(flop a-path)
|
|
=/ b-mark=mark -:(flop b-path)
|
|
?. =(a-mark b-mark)
|
|
(strand-fail:strandio %files-not-same-type ~)
|
|
=/ a-beam (need (de-beam:format a-path))
|
|
;< =a=cage bind:m (get-file a-path)
|
|
;< =b=cage bind:m (get-file b-path)
|
|
;< =dais:clay bind:m (build-mark:strandio -.a-beam a-mark)
|
|
(pure:m (~(diff dais q.a-cage) q.b-cage))
|
|
::
|
|
++ get-file
|
|
|= =path
|
|
=/ m (strand ,cage)
|
|
^- form:m
|
|
=/ beam (need (de-beam:format path))
|
|
;< =riot:clay bind:m
|
|
(warp:strandio p.beam q.beam ~ %sing %x r.beam s.beam)
|
|
?~ riot
|
|
(strand-fail:strandio %file-not-found >path< ~)
|
|
(pure:m r.u.riot)
|
|
--
|