engine_output: An output wrapper for language engine output

View source: R/engine.R

engine_outputR Documentation

An output wrapper for language engine output


If you have designed a language engine, you may call this function in the end to format and return the text output from your engine.


engine_output(options, code, out, extra = NULL)



A list of chunk options. Usually this is just the object options passed to the engine function; see knit_engines.


Source code of the chunk, to which the output hook source is applied, unless the chunk option echo is FALSE.


Text output from the engine, to which the hook output is applied, unless the chunk option results is 'hide'


Any additional text output that you want to include.


For expert users, an advanced usage of this function is engine_output(options, out = LIST) where LIST is a list that has the same structure as the output of evaluate::evaluate(). In this case, the arguments code and extra are ignored, and the list is passed to knitr::sew() to return a character vector of final output.


A character string generated from the source code and output using the appropriate output hooks.


engine_output(opts_chunk$merge(list(engine = "Rscript")),
    code = "1 + 1", out = "[1] 2")
engine_output(opts_chunk$merge(list(echo = FALSE, engine = "Rscript")),
    code = "1 + 1", out = "[1] 2")

# expert use only
engine_output(opts_chunk$merge(list(engine = "python")),
    out = list(structure(list(src = "1 + 1"), class = "source"),

knitr documentation built on April 27, 2022, 1:08 a.m.