Stdio.recv.on: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/lsp/transport/stdio.bend as Stdio Lines 52-66 of bolt@1.27.0.0/src/lsp/transport/stdio.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/lsp/transport/stdio.bend&start_line=52&end_line=66 import Base import bolt@1.27.0.0/src/lsp/frame.bend as Frame # a whole message is cut off the buffer; short of one, read and look again def recv.on( cc: Frame.Cut, inp: File, out: File, buf: List<&2, U32>, rest: Stdio -> IO(Stdio & Maybe<&2, String>) ) -> IO(Stdio & Maybe<&2, String>): match cc: case Frame.Whole{body, left}: IO.pure(Stdio & Maybe<&2, String>, (Stdio{inp, out, left}, Some{Frame.decode(body)})) case Frame.More{}: do IO>: got : File & Result<&1, &1, U32 & String, List<&2, U32>> <- File.read_bytes(inp, 65536) recv.read(got, out, buf, rest) Uses (16): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=File https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=File.read_bytes https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/lsp/frame.bend&name=Cut https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/lsp/frame.bend&name=decode https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/lsp/transport/stdio.bend&name=Stdio https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/lsp/transport/stdio.bend&name=recv.read