:: :: :: :::: /hook/core/helm/lib :: :: :: :: :: /? 310 :: version :: :: :: :::: :: :: :: :: :: |% :: :: ++ helm-part ,[%helm %0 helm-pith] :: helm state ++ helm-pith :: helm content $: bur=(unit (pair ship mace)) :: requesting ticket hoc=(map bone helm-session) :: consoles == :: ++ helm-session :: $: say=sole-share :: console state mud=(unit (sole-dialog ,@ud)) :: console dialog == :: :: :: :: :::: :: :: :: :: :: ++ hood-begin :: begin command $: his=@p :: identity tic=@p :: ticket eny=@t :: entropy ges=gens :: description == :: ++ hood-init :: report init $: him=ship :: == :: ++ hood-start :: start (local) server $: syd=desk :: desk dap=term :: program == :: ++ hood-reset :: reset command ,~ :: ++ helm-verb :: reset command ,~ :: ++ hood-reload :: reload command (list term) :: -- :: :: :: :: :::: :: :: !: :: :: |% :: helm library ++ helm-work :: work in helm |= [[bowl from] helm-part] =+ sez=(fall (~(get by hoc) ost) *helm-session) => |% :: arvo structures ++ card :: $% [%cash wire p=@p q=buck] :: [%conf wire dock %load ship term] :: [%flog wire flog] :: [%plug wire @p @tas @p @tas] :: [%want wire sock path *] :: send message == :: ++ move (pair bone card) :: user-level move -- |_ moz=(list move) ++ abet :: resolve [(flop moz) %_(+>+>+<+ hoc (~(put by hoc) ost sez))] :: ++ emit |=(card %_(+> moz [[ost +<] moz])) :: return card ++ emil :: return cards |= (list card) ^+ +> ?~(+< +> $(+< t.+<, +> (emit i.+<))) :: ++ poke-begin :: make/send keypair |= hood-begin =< abet ?> ?=(~ bur) =+ buz=(shax :(mix (jam ges) eny)) =+ loy=(bruw 2.048 buz) %- emit(bur `[his [0 sec:ex:loy]~]) [%want /helm/ticket [our (sein his)] /q/ta his tic ges pub:ex:loy] :: ++ poke-init :: initialize |= him=ship =< abet (emit %flog /helm %crud %hax-init leaf/(scow %p him) ~) :: ++ poke-mass =< abet (emit %flog /heft %crud %hax-heft ~) :: ++ poke-start :: start a server |= hood-start =< abet (emit %conf /helm [our dap] %load our syd) :: ++ poke-reload :: reload vanes |= all=(list term) =< abet %- emil %- flop %+ turn all =+ ark=(arch .^(%cy /(scot %p our)/base/(scot %da now)/arvo)) =+ van=(~(tap by r.ark)) |= nam=@tas =. nam ?. =(1 (met 3 nam)) nam =+ ^- zaz=(list ,[p=span ~]) (skim van |=([a=term ~] =(nam (end 3 1 a)))) ?> ?=([[@ ~] ~] zaz) `term`p.i.zaz =+ tip=(end 3 1 nam) =+ way=[(scot %p our) %home (scot %da now) %arvo nam %hoon ~] =+ fil=(,@ .^(%cx way)) :* %flog /reload [%veer ?:(=('z' tip) %$ tip) way (,@ .^(%cx way))] == :: ++ poke-reset :: reset system |= hood-reset =< abet %- emil =+ top=`path`/(scot %p our)/base/arvo/(scot %da now) :- [%flog /reset %vega (weld top `path`/hoon)] %+ turn ^- (list ,[p=@tas q=@tas]) :~ [%$ %zuse] [%a %ames] [%c %clay] [%d %dill] [%e %eyre] [%f %ford] [%g %gall] [%t %time] == |= [p=@tas q=@tas] =+ way=`path`(welp top /[q]) =+ txt=((hard ,@) .^(%cx (welp way /hoon))) [%flog /reset %veer p way txt] :: ++ poke-will :: hear certificate |= wil=(unit will) ?> ?=(^ bur) ?> ?=(^ wil) =< abet %- emil(bur ~) :~ [%cash /helm p.u.bur q.u.bur u.wil] [%plug /helm our %home (sein our) %kids] == :: ++ poke-verb :: toggle verbose |= ~ =< abet (emit %flog /helm %verb ~) :: ++ take-onto :: result of %conf |= saw=(each suss tang) =< abet ~& [%take-onto saw] %- emit ?- -.saw %| [%flog ~ %crud %onto `tang`p.saw] %& [%flog ~ %text "<{}>"] == :: ++ take-note :: result of %init |= [way=wire chr=@tD tan=tank] =< abet (emit %flog ~ %text chr ' ' ~(ram re tan)) :: ++ take-went :: result of %want |= [way=path her=ship kay=cape] =< abet (emit %flog ~ %text "went: {<[way kay]>}") -- --