def serve.go

bolt@1.27.0.0 · src/lsp/server.bend:709

import bolt@1.27.0.0/src/lsp/server.bend as Server
import Base
import bolt@1.27.0.0/src/lsp/docs.bend as Docs
import bolt@1.27.0.0/src/lsp/transport/service.bend as T
import bolt@1.27.0.0/src/lsp/checker/answer.bend as C
import bolt@1.27.0.0/src/lsp/files/service.bend as F
import bolt@1.27.0.0/src/lsp/enc.bend as Enc

709def serve.go(
710  ~H: Type,
711  ~tr: T.Transport<H>,
712  ~fs: F.Files,
713  ~ck: C.Checker,
714  fuel: Nat,
715  h3: H,
716  ee: Enc.Enc,
717  docs: List<&2, Docs.Doc>
718) -> IO(Unit):
719  match fuel:
720    case 0n:
721      IO.pure(Unit, Unit{})
722    case 1n+f:
723      do IO<Unit>:
724        r : H & Maybe<&2, String> <- T.recv(H, tr, h3)
725        got(~H, ~tr, ~fs, ~ck, r, ee, docs, hh => e2 => dd => serve.go(~H, ~tr, ~fs, ~ck, f, hh, e2, dd))

Uses (16)

Used by (1)