mirror of
https://github.com/urbit/shrub.git
synced 2024-12-22 18:31:44 +03:00
542 lines
7.7 KiB
Plaintext
542 lines
7.7 KiB
Plaintext
=>
|
|
|%
|
|
++ snippet
|
|
|= [rune=tape text=tape]
|
|
^- json
|
|
=, enjs:format
|
|
%- pairs
|
|
:~ 'label'^(tape rune)
|
|
'insertTextFormat'^(numb 2)
|
|
'insertText'^(tape text)
|
|
==
|
|
::
|
|
++ runes
|
|
%- malt
|
|
:~ :- "|$"
|
|
"""
|
|
$\{1:sample}
|
|
$\{2:body}
|
|
"""
|
|
:- "|_"
|
|
"""
|
|
$\{1:sample}
|
|
++ $\{2:arm}
|
|
$\{3:body}
|
|
--
|
|
"""
|
|
:- "|:"
|
|
"""
|
|
$\{1:sample}
|
|
$\{2:body}
|
|
"""
|
|
:- "|%"
|
|
"""
|
|
|
|
++ $\{1:arm}
|
|
$\{2:body}
|
|
--
|
|
"""
|
|
:- "|."
|
|
"""
|
|
$\{1:body}
|
|
"""
|
|
:- "|^"
|
|
"""
|
|
|
|
$\{1:body}
|
|
::
|
|
++ $\{2:arm}
|
|
$\{3:body}
|
|
--
|
|
"""
|
|
:- "|-"
|
|
"""
|
|
$\{1:body}
|
|
"""
|
|
:- "|~"
|
|
"""
|
|
$\{1:sample}
|
|
$\{2:body}
|
|
"""
|
|
:- "|*"
|
|
"""
|
|
$\{1:sample}
|
|
$\{2:body}
|
|
"""
|
|
:- "|="
|
|
"""
|
|
$\{1:sample}
|
|
$\{2:body}
|
|
"""
|
|
:- "|@"
|
|
"""
|
|
++ $\{1:arm}
|
|
$\{2:body}
|
|
--
|
|
"""
|
|
:- "|?"
|
|
"""
|
|
$\{1:sample}
|
|
"""
|
|
::
|
|
:- ":_"
|
|
"""
|
|
$\{1:tail}
|
|
$\{2:head}
|
|
"""
|
|
:- ":^"
|
|
"""
|
|
$\{1:car}
|
|
$\{2:cadr}
|
|
$\{3:caddr}
|
|
$\{4:cddr}
|
|
"""
|
|
:- ":-"
|
|
"""
|
|
$\{1:tail}
|
|
$\{2:head}
|
|
"""
|
|
:- ":+"
|
|
"""
|
|
$\{1:car}
|
|
$\{2:cadr}
|
|
$\{3:cddr}
|
|
"""
|
|
:- ":~"
|
|
"""
|
|
$\{1:item}
|
|
==
|
|
"""
|
|
:- ":*"
|
|
"""
|
|
$\{1:item}
|
|
==
|
|
"""
|
|
::
|
|
:- "%_"
|
|
"""
|
|
$\{1:target}
|
|
$\{2:wing} $\{3:new-value}
|
|
==
|
|
"""
|
|
:- "%."
|
|
"""
|
|
$\{1:arg}
|
|
$\{2:gate}
|
|
"""
|
|
:- "%-"
|
|
"""
|
|
$\{1:gate}
|
|
$\{2:arg}
|
|
"""
|
|
:- "%:"
|
|
"""
|
|
$\{1:gate}
|
|
$\{2:args}
|
|
==
|
|
"""
|
|
:- "%*"
|
|
"""
|
|
$\{1:target-wing} $\{2:from}
|
|
$\{3:wing} $\{4:new-value}
|
|
==
|
|
"""
|
|
:- "%^"
|
|
"""
|
|
$\{1:gate}
|
|
$\{2:arg1}
|
|
$\{3:arg2}
|
|
$\{4:arg3}
|
|
"""
|
|
:- "%+"
|
|
"""
|
|
$\{1:gate}
|
|
$\{2:arg1}
|
|
$\{3:arg2}
|
|
"""
|
|
:- "%~"
|
|
"""
|
|
$\{1:arm}
|
|
$\{2:core}
|
|
$\{3:arg}
|
|
"""
|
|
:- "%="
|
|
"""
|
|
$\{1:target}
|
|
$\{2:wing} $\{3:new-value}
|
|
==
|
|
"""
|
|
::
|
|
:- ".^"
|
|
"""
|
|
$\{1:mold}
|
|
$\{2:path}
|
|
"""
|
|
:- ".+"
|
|
"""
|
|
$\{1:atom}
|
|
"""
|
|
:- ".*"
|
|
"""
|
|
$\{1:subject}
|
|
$\{2:formula}
|
|
"""
|
|
:- ".="
|
|
"""
|
|
$\{1:a}
|
|
$\{2:b}
|
|
"""
|
|
:- ".?"
|
|
"""
|
|
$\{1:noun}
|
|
"""
|
|
::
|
|
:- "^|"
|
|
"""
|
|
$\{1:iron-core}
|
|
"""
|
|
:- "^%"
|
|
"""
|
|
$\{1:body}
|
|
"""
|
|
:- "^."
|
|
"""
|
|
$\{1:a}
|
|
$\{2:b}
|
|
"""
|
|
:- "^+"
|
|
"""
|
|
$\{1:like}
|
|
$\{2:body}
|
|
"""
|
|
:- "^-"
|
|
"""
|
|
$\{1:type}
|
|
$\{2:body}
|
|
"""
|
|
:- "^&"
|
|
"""
|
|
$\{1:zinc-core}
|
|
"""
|
|
:- "^~"
|
|
"""
|
|
$\{1:constant}
|
|
"""
|
|
:- "^="
|
|
"""
|
|
$\{1:face}
|
|
$\{2:body}
|
|
"""
|
|
:- "^?"
|
|
"""
|
|
$\{1:lead-core}
|
|
"""
|
|
:- "^*"
|
|
"""
|
|
$\{1:type}
|
|
"""
|
|
:- "^:"
|
|
"""
|
|
$\{1:type}
|
|
"""
|
|
::
|
|
:- "~|"
|
|
"""
|
|
$\{1:trace}
|
|
$\{2:body}
|
|
"""
|
|
:- "~_"
|
|
"""
|
|
$\{1:tank}
|
|
$\{2:body}
|
|
"""
|
|
:- "~%"
|
|
"""
|
|
$\{1:name}
|
|
$\{2:parent}
|
|
~
|
|
$\{3:body}
|
|
"""
|
|
:- "~/"
|
|
"""
|
|
$\{1:name}
|
|
$\{2:body}
|
|
"""
|
|
:- "~<"
|
|
"""
|
|
$\{1:hint}
|
|
$\{2:body}
|
|
"""
|
|
:- "~>"
|
|
"""
|
|
$\{1:hint}
|
|
$\{2:body}
|
|
"""
|
|
:- "~$"
|
|
"""
|
|
$\{1:name}
|
|
$\{2:body}
|
|
"""
|
|
:- "~+"
|
|
"""
|
|
|
|
$\{1:body}
|
|
"""
|
|
:- "~&"
|
|
"""
|
|
$\{1:printf}
|
|
$\{2:body}
|
|
"""
|
|
:- "~="
|
|
"""
|
|
$\{1:a}
|
|
$\{2:b}
|
|
"""
|
|
:- "~?"
|
|
"""
|
|
$\{1:condition}
|
|
$\{2:printf}
|
|
$\{3:body}
|
|
"""
|
|
:- "~!"
|
|
"""
|
|
$\{1:type}
|
|
$\{2:body}
|
|
"""
|
|
::
|
|
:- ";="
|
|
"""
|
|
$\{1:manx}
|
|
==
|
|
"""
|
|
:- ";:"
|
|
"""
|
|
$\{1:gate}
|
|
$\{2:args}
|
|
==
|
|
"""
|
|
:- ";/"
|
|
"""
|
|
$\{1:tape}
|
|
"""
|
|
:- ";<"
|
|
"""
|
|
$\{1:type} bind:m $\{2:body1}
|
|
$\{3:body2}
|
|
"""
|
|
:- ";~"
|
|
"""
|
|
$\{1:gate}
|
|
$\{2:args}
|
|
==
|
|
"""
|
|
:- ";;"
|
|
"""
|
|
$\{1:type}
|
|
$\{2:body}
|
|
"""
|
|
::
|
|
:- "=|"
|
|
"""
|
|
$\{1:type}
|
|
$\{2:body}
|
|
"""
|
|
:- "=:"
|
|
"""
|
|
$\{1:wing} $\{2:value}
|
|
==
|
|
$\{3:body}
|
|
"""
|
|
:- "=/"
|
|
"""
|
|
$\{1:face}
|
|
$\{2:value}
|
|
$\{3:body}
|
|
"""
|
|
:- "=;"
|
|
"""
|
|
$\{1:face}
|
|
$\{2:body}
|
|
$\{3:value}
|
|
"""
|
|
:- "=."
|
|
"""
|
|
$\{1:wing}
|
|
$\{2:value}
|
|
$\{3:body}
|
|
"""
|
|
:- "=?"
|
|
"""
|
|
$\{1:wing} $\{2:condition}
|
|
$\{3:value}
|
|
$\{4:body}
|
|
"""
|
|
:- "=<"
|
|
"""
|
|
$\{1:formula}
|
|
$\{2:subject}
|
|
"""
|
|
:- "=-"
|
|
"""
|
|
$\{1:body}
|
|
$\{2:value}
|
|
"""
|
|
:- "=>"
|
|
"""
|
|
$\{1:subject}
|
|
$\{2:formula}
|
|
"""
|
|
:- "=^"
|
|
"""
|
|
$\{1:face}
|
|
$\{2:wing}
|
|
$\{3:computation}
|
|
$\{4:body}
|
|
"""
|
|
:- "=+"
|
|
"""
|
|
$\{1:value}
|
|
$\{2:body}
|
|
"""
|
|
:- "=~"
|
|
"""
|
|
|
|
$\{1:body}
|
|
"""
|
|
:- "=*"
|
|
"""
|
|
$\{1:alias} $\{2:value}
|
|
$\{3:body}
|
|
"""
|
|
:- "=,"
|
|
"""
|
|
$\{1:alias}
|
|
$\{3:body}
|
|
"""
|
|
::
|
|
:- "?|"
|
|
"""
|
|
$\{1:condition}
|
|
==
|
|
"""
|
|
:- "?-"
|
|
"""
|
|
$\{1:case}
|
|
$\{2:type} $\{3:value}
|
|
==
|
|
"""
|
|
:- "?:"
|
|
"""
|
|
$\{1:if}
|
|
$\{2:then}
|
|
$\{3:else}
|
|
"""
|
|
:- "?."
|
|
"""
|
|
$\{1:if}
|
|
$\{2:else}
|
|
$\{3:then}
|
|
"""
|
|
:- "?^"
|
|
"""
|
|
$\{1:value}
|
|
$\{2:if-cell}
|
|
$\{3:if-atom}
|
|
"""
|
|
:- "?<"
|
|
"""
|
|
$\{1:assertion}
|
|
$\{2:body}
|
|
"""
|
|
:- "?>"
|
|
"""
|
|
$\{1:assertion}
|
|
$\{2:body}
|
|
"""
|
|
:- "?-"
|
|
"""
|
|
$\{1:case} $\{2:else}
|
|
$\{3:type} $\{4:value}
|
|
==
|
|
"""
|
|
:- "?&"
|
|
"""
|
|
$\{1:condition}
|
|
==
|
|
"""
|
|
:- "?@"
|
|
"""
|
|
$\{1:value}
|
|
$\{2:if-atom}
|
|
$\{3:if-cell}
|
|
"""
|
|
:- "?~"
|
|
"""
|
|
$\{1:value}
|
|
$\{2:if-null}
|
|
$\{3:if-nonnull}
|
|
"""
|
|
:- "?#"
|
|
"""
|
|
$\{1:skin}
|
|
$\{2:wing}
|
|
"""
|
|
:- "?="
|
|
"""
|
|
$\{1:type}
|
|
$\{2:wing}
|
|
"""
|
|
:- "?!"
|
|
"""
|
|
$\{1:loobean}
|
|
"""
|
|
::
|
|
:- "!,"
|
|
"""
|
|
*hoon
|
|
$\{1:ast}
|
|
"""
|
|
:- "!>"
|
|
"""
|
|
$\{1:value}
|
|
"""
|
|
:- "!;"
|
|
"""
|
|
$\{1:type}
|
|
$\{2:body}
|
|
"""
|
|
:- "!="
|
|
"""
|
|
$\{1:body}
|
|
"""
|
|
:- "!@"
|
|
"""
|
|
$\{1:wing}
|
|
$\{2:if-exists}
|
|
$\{3:if-not-exists}
|
|
"""
|
|
:- "!?"
|
|
"""
|
|
$\{1:version}
|
|
$\{2:body}
|
|
"""
|
|
:- "!!"
|
|
""
|
|
==
|
|
--
|
|
|= rune=tape
|
|
=, enjs:format
|
|
^- json
|
|
%- pairs
|
|
:~ good+b+&
|
|
:- %result
|
|
%- pairs
|
|
:~ 'isIncomplete'^b+&
|
|
:- %items
|
|
:- %a :_ ~
|
|
~| [%unrecognized-rune rune]
|
|
%+ snippet
|
|
rune
|
|
(~(got by runes) rune)
|
|
== ==
|