static void interactiveLoop() { setjmp(recovery); string line; while(true) { llvm::errs().flush(); llvm::errs() << "clay>"; char buf[255]; line = fgets(buf, 255, stdin); line = stripSpaces(line); if (line[0] == ':') { replCommand(line.substr(1, line.size() - 1)); } else { eval(line); } } engine->runStaticConstructorsDestructors(true); }
static void interactiveLoop() { setjmp(recovery); linenoiseSetMultiLine(1); linenoiseHistorySetMaxLen(100); char *buf; while ((buf = linenoise("clay> ")) != NULL) { linenoiseHistoryAdd(buf); string line = stripSpaces(buf); if (line[0] == ':') { replCommand(line.substr(1, line.size() - 1)); } else { eval(line); } free(buf); } engine->runStaticConstructorsDestructors(true); }