To create a new roclet, you will need to create a constructor function
that wraps roclet
, and then implement the methods described below.
roclet(subclass, ...)roclet_output(x, results, base_path, ...)
roclet_tags(x)
roclet_preprocess(x, blocks, base_path, global_options = list())
roclet_process(x, blocks, env, base_path, global_options = list())
roclet_clean(x, base_path)
roclet_tags()
: return named list, where names give recognised tags and
values give tag parsing function. See roxy_tag for built-in options.
roclet_preprocess()
is called after blocks have been parsed but before
code has been evaluated. This should only be needed if your roclet affects
how code will evaluated. Should return a roclet.
roclet_process()
called after blocks have been evaluated; i.e. the
@eval
tag has been processed, and the object associated with each block
has been determined.
roclet_output()
is given the output from roclet_process()
and should
produce files on disk.
roclet_clean()
called when roxygenise(clean = TRUE)
. Should remove
any files created by the roclet.