diff --git a/adapters/vim/bridge.ts b/adapters/vim/bridge.ts index fba0032..646855c 100644 --- a/adapters/vim/bridge.ts +++ b/adapters/vim/bridge.ts @@ -128,11 +128,14 @@ function setContent(newContent: string) { } // read json lines from stdin +let buffer = ""; const decoder = new TextDecoder(); for await (const chunk of Bun.stdin.stream()) { - const lines = decoder.decode(chunk).trim().split("\n"); + buffer += decoder.decode(chunk); + const lines = buffer.split("\n"); + buffer = lines.pop() ?? ""; // keep incomplete last line for (const line of lines) { - if (!line) continue; + if (!line.trim()) continue; try { const msg = JSON.parse(line); switch (msg.type) {