mirror of
https://github.com/urbit/shrub.git
synced 2024-12-14 11:08:45 +03:00
Add syntax.
This commit is contained in:
parent
b129488c4d
commit
e20bf4c4c2
@ -239,7 +239,7 @@
|
||||
%+ (full (parse-scaffold:ford-gate [[~nul %desk %da ~1234.5.6] /foo/bar]))
|
||||
[1 1]
|
||||
"""
|
||||
/- struct
|
||||
/- struct, face=other
|
||||
/+ library, *thing
|
||||
!.
|
||||
|=(a a)
|
||||
@ -249,8 +249,8 @@
|
||||
%- expect-eq !>
|
||||
:_ p.u.q.parsed
|
||||
:* zuse-version=309
|
||||
structures=~[[%.n %struct ~]]
|
||||
libraries=~[[%.n %library ~] [%.y %thing ~]]
|
||||
structures=~[[`%struct %struct] [`%face %other]]
|
||||
libraries=~[[`%library %library] [~ %thing]]
|
||||
cranes=~
|
||||
^= sources
|
||||
:~ :* %direct
|
||||
@ -1717,7 +1717,6 @@
|
||||
[%success [%ride ride-type %constant]]
|
||||
[%success [%scry %noun scry-type %it-does-in-fact-matter]]
|
||||
== == ==
|
||||
~& %results1
|
||||
::
|
||||
=^ results2 ford
|
||||
%- test-ford-call :*
|
||||
|
@ -461,18 +461,12 @@
|
||||
:: +cable: a reference to something on the filesystem
|
||||
::
|
||||
+= cable
|
||||
$: :: expose-internal-symbols: expose internal faces to subject
|
||||
$: :: face: the face to wrap around the imported file
|
||||
::
|
||||
:: If %.y, we don't wrap a face around this hoon when we put it in
|
||||
:: the subject, which exposes its internal symbols.
|
||||
::
|
||||
expose-internal-symbols=?
|
||||
face=(unit term)
|
||||
:: file-path: location in clay
|
||||
::
|
||||
file-path=term
|
||||
:: remote-location: if not `~`, remote location of file
|
||||
::
|
||||
remote-location=(unit (pair case ship))
|
||||
==
|
||||
:: +brick: hoon code, either directly specified or referencing clay
|
||||
::
|
||||
@ -1443,11 +1437,18 @@
|
||||
==
|
||||
:: +cable: parses a +^cable, a reference to something on the filesystem
|
||||
::
|
||||
:: This parses:
|
||||
::
|
||||
:: `library` -> wraps `library` around the library `library`
|
||||
:: `face=library` -> wraps `face` around the library `library`
|
||||
:: `*library` -> exposes `library` directly to the subject
|
||||
::
|
||||
++ cable
|
||||
%+ cook |=(a=^cable a)
|
||||
;~ pose
|
||||
(stag %& ;~(pfix tar local-or-remote-reference))
|
||||
(stag %| local-or-remote-reference)
|
||||
(stag ~ ;~(pfix tar sym))
|
||||
(cook |=([face=term tis=@ file=term] [`face file]) ;~(plug sym tis sym))
|
||||
(cook |=(a=term [`a a]) sym)
|
||||
==
|
||||
:: +crane: all runes that start with / which aren't /?, /-, /+ or //.
|
||||
::
|
||||
@ -1560,14 +1561,6 @@
|
||||
(ifix [sel ser] (stag %cltr (most ace wide:hoon-parser)))
|
||||
;~(pfix gap tall:hoon-parser)
|
||||
--
|
||||
:: +local-or-remote-reference: the type used in +cable
|
||||
::
|
||||
++ local-or-remote-reference
|
||||
;~ plug
|
||||
sym
|
||||
:: todo: ignoring :remote-location syntax for now as it is weird.
|
||||
(easy ~)
|
||||
==
|
||||
:: +static-path: parses a path
|
||||
::
|
||||
++ static-path
|
||||
|
Loading…
Reference in New Issue
Block a user