brewLiteral <- function(code) { out <- "" exp <- try(parse(text=code),TRUE) if(inherits(exp, "try-error")) return(exp) for(i in 1:length(exp)) { dep <- deparse(exp[[i]]) for(j in 1:length(dep)) { pmt <- ifelse(j > 1, getOption("continue"), getOption("prompt")) out <- paste(out, pmt, dep[j], "\n", sep="") } res <- try(capture.output(eval(exp[i])),TRUE) if(length(res)>0 && !grepl("^.*\\n$", res)) res <- paste(res, "\n") out <- paste(out, res, sep="") } return(out) }