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.