isIncomplete(description: string): boolean
Whether a SyntaxError means the input is unfinished rather than wrong.
The caller turns a true here into another prompt line instead of an error, which is why it
reads V8's message rather than counting brackets: foo( and `abc are both open, and only
the parser knows which shapes are still completable.
import { isIncomplete } from './input.ts'; isIncomplete('SyntaxError: Unexpected end of input'); // true — keep reading isIncomplete("SyntaxError: Unexpected token ';'"); // false — report it