urbit/pkg/arvo/lib/language-server/rune-snippet.hoon
2019-11-04 23:47:27 -08:00

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)
== ==