An output_handler handles the results of evaluate(),
including the values, graphics, conditions. Each type of output is handled by
a particular function in the handler object.
new_output_handler(
source = identity,
text = identity,
graphics = identity,
message = identity,
warning = identity,
error = identity,
value = render,
calling_handlers = list()
)A new output_handler object
Function to handle the echoed source code under evaluation.
This function should take two arguments (src and call), and return
an object that will be inserted into the evaluate outputs. src is the
unparsed text of the source code, and call is the parsed language object
If src is unparsable, call will be expression().
Return src for the default evaluate behaviour. Return NULL to
drop the source from the output.
Function to handle any textual console output.
Function to handle graphics, as returned by
recordPlot().
Function to handle message() output.
Function to handle warning() output.
Function to handle stop() output.
Function to handle the values returned from evaluation. If it only has one argument, only visible values are handled; if it has more arguments, the second argument indicates whether the value is visible.
List of calling handlers.
These handlers have precedence over the exiting handler installed
by evaluate() when stop_on_error is set to 0.
The handler functions should accept an output object as their first argument.
The return value of the handlers is ignored, except in the case of the
value handler, where a visible return value is saved in the output
list.
Calling the constructor with no arguments results in the default handler, which mimics the behavior of the console by printing visible values.
Note that recursion is common: for example, if value does any
printing, then the text or graphics handlers may be called.