importfrom example r roxygen2

example - Recortes de roxygen previos o posteriores al proceso



r roxygen2 example (1)

¿Hay algún mecanismo por el cual pueda transformar los comentarios que ve Roxygen, preferiblemente antes de la conversión de roxygen-rd?

Por ejemplo, supongamos que tengo:

#'' My function. Does stuff with numbers. #'' #'' This takes an input `x` and does something with it. #'' @param x a number. myFunction <- function (x) { }

Ahora, supongamos que quiero hacer una conversión del comentario antes de que roxygen lo analice, por ejemplo, reemplazando todas las instancias de cosas en los backticks con /code{} . Es decir:

preprocess <- function (txt) { gsub(''`([^ ]+)`'', ''////code{//1}'', txt) } # cat(preprocess(''Takes an input `x` and does something with it''.)) # Takes an input /code{x} and does something with it.

¿Puedo alimentar el preprocess en roxygen de alguna manera para que lo ejecute en los doclets antes (o después de que funcione en este caso) roxygen hace su generación de documentos?

No quiero hacer un reemplazo de búsqueda permanente en mis archivos .r . Como se puede deducir de mi ejemplo, mi objetivo es obtener un soporte de rebajas rudimentario en mis comentarios de roxygen, y por lo tanto deseo conservar mis archivos .r para preservar la legibilidad (e insertar las cosas de /code{..} programáticamente) .

¿Debo simplemente escribir mi propia versión de roxygenise que ejecute el preprocess de todos los comentarios al estilo roxygen detectados en mis archivos, los roxygenise temporalmente en algún lugar, y luego ejecute el roxygenise real en esos?


Revisando esto un par de años después, parece que Roxygen tiene una función register.preref.parsers que uno puede usar para inyectar sus propios analizadores en roxygen. Uno de estos usos es el prometedor paquete maxygen (markdown + roxygen = maxygen), que es una implementación muy clara del procesamiento de reducción de comentarios de roxygen (aunque solo para las especificaciones CommonMark), y se puede ver cómo se usa en el macumento de ese paquete función . Espero ansiosamente "pandoc + roxygen = pandoxygen" ... :)