Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I indicate collate order in Roxygen2?

Using roxygen2 documentation with devtools document function automatically generates a Collate: field in the package DESCRIPTION, regardless of whether or not it is necessary to load the package library files in a particular order.

I'm working on a package with a bunch of S4 methods and want to be sure the class definitions are loaded before any methods or other classes using them, which I understand I can do with the Collate list, but I'm not sure how to indicate this in the roxygen2 documentation format.

The roxygen2 manual makes some reference to an @include tag but that looks like it might actually just include code in the documentation, for instance, for adding external examples through an @examples flag. Can this be used for specifying collate order for methods?

like image 656
cboettig Avatar asked Aug 31 '13 02:08

cboettig


2 Answers

The include tag is used to state that one file needs another to work. (The name include might not have been the best choice, but such is life). If you want to make sure that file B is loaded before file A, then make sure to @include B in A. Roxygen will take care of ordering the collate field to satisfy your restrictions.

like image 183
hadley Avatar answered Oct 31 '22 15:10

hadley


I just figured out that if you add the @include statement at the top of your R file, it will interfere with the next roxygen2 documentation block unless you follow it with a NULL eg

#' @include something.R
NULL

#' Documenting a function
#'
#" It does something...
#'
#' @param ...
#'
like image 41
THK Avatar answered Oct 31 '22 15:10

THK