mirror of
https://github.com/urbit/shrub.git
synced 2024-12-19 16:51:42 +03:00
88 lines
5.5 KiB
Plaintext
88 lines
5.5 KiB
Plaintext
|
::
|
||
|
:::: /hoon/sole/sur
|
||
|
::
|
||
|
^?
|
||
|
|%
|
||
|
+$ sole-action :: sole to app
|
||
|
$: id=@ta :: duct id
|
||
|
$= dat
|
||
|
$% :: [%abo ~] :: reset interaction
|
||
|
[%det sole-change] :: command line edit
|
||
|
[%ret ~] :: submit and clear
|
||
|
[%clr ~] :: exit context
|
||
|
[%tab pos=@ud] :: tab complete
|
||
|
== ::
|
||
|
==
|
||
|
+$ sole-buffer (list @c) :: command state
|
||
|
+$ sole-change :: network change
|
||
|
$: ler=sole-clock :: destination clock
|
||
|
haw=@uvH :: source hash
|
||
|
ted=sole-edit :: state change
|
||
|
== ::
|
||
|
+$ sole-clock [own=@ud his=@ud] :: vector clock
|
||
|
+$ sole-edit :: shared state change
|
||
|
$% [%del p=@ud] :: delete one at
|
||
|
[%ins p=@ud q=@c] :: insert at
|
||
|
[%mor p=(list sole-edit)] :: combination
|
||
|
[%nop ~] :: no-op
|
||
|
[%set p=sole-buffer] :: discontinuity
|
||
|
== ::
|
||
|
+$ sole-effect :: app to sole
|
||
|
$% [%bel ~] :: beep
|
||
|
[%blk p=@ud q=@c] :: blink+match char at
|
||
|
[%bye ~] :: close session
|
||
|
[%clr ~] :: clear screen
|
||
|
[%det sole-change] :: edit command
|
||
|
[%err p=@ud] :: error point
|
||
|
[%klr p=styx] :: styled text line
|
||
|
[%mor p=(list sole-effect)] :: multiple effects
|
||
|
[%nex ~] :: save clear command
|
||
|
[%pro sole-prompt] :: set prompt
|
||
|
[%sag p=path q=*] :: save to jamfile
|
||
|
[%sav p=path q=@] :: save to file
|
||
|
[%tab p=(list [=cord =tank])] :: tab-complete list
|
||
|
[%tan p=(list tank)] :: classic tank
|
||
|
:: [%taq p=tanq] :: modern tank
|
||
|
[%txt p=tape] :: text line
|
||
|
[%url p=@t] :: activate url
|
||
|
== ::
|
||
|
+$ sole-command :: command state
|
||
|
$: pos=@ud :: cursor position
|
||
|
say=sole-share :: cursor
|
||
|
== ::
|
||
|
+$ sole-prompt :: prompt definition
|
||
|
$: vis=? :: command visible
|
||
|
tag=term :: history mode
|
||
|
cad=styx :: caption
|
||
|
== ::
|
||
|
+$ sole-share :: symmetric state
|
||
|
$: ven=sole-clock :: our vector clock
|
||
|
leg=(list sole-edit) :: unmerged edits
|
||
|
buf=sole-buffer :: sole state
|
||
|
== ::
|
||
|
:: ::
|
||
|
:: ::
|
||
|
++ sole-dialog :: standard dialog
|
||
|
|* out=$-(* *) :: output structure
|
||
|
$-(sole-input (sole-result out)) :: output function
|
||
|
:: ::
|
||
|
+$ sole-input tape :: prompt input
|
||
|
++ sole-result :: conditional result
|
||
|
|* out=$-(* *) :: output structure
|
||
|
$@(@ud (sole-product out)) :: error position
|
||
|
:: ::
|
||
|
++ sole-product :: success result
|
||
|
|* out=$-(* *) ::
|
||
|
%+ pair (list tank) ::
|
||
|
%+ each (unit out) :: ~ is abort
|
||
|
(pair sole-prompt (sole-dialog out)) :: ask and continue
|
||
|
:: ::
|
||
|
+$ sole-gen :: XX virtual type
|
||
|
$% [%say $-((sole-args) (cask))] :: direct noun
|
||
|
[%ask $-((sole-args) (sole-product (cask)))] :: dialog
|
||
|
== ::
|
||
|
++ sole-args :: generator arguments
|
||
|
|* _[* *] ::
|
||
|
,[[now=@da eny=@uvJ bek=beak] [,+<- ,+<+]] ::
|
||
|
--
|