A roxy_block
represents a single roxygen2 block.
The block_*
functions provide a few helpers for common operations:
block_has_tag(blocks, tags)
: does block
contain any of these tags
?
block_get_tags(block, tags)
: get all instances of tags
block_get_tag(block, tag)
: get single tag. Returns NULL
if 0,
throws warning if more than 1.
block_get_tag_value(block, tag)
: gets val
field from single tag.
roxy_block(tags, file, line, call, object = NULL) block_has_tags(block, tags) block_get_tags(block, tags) block_get_tag(block, tag) block_get_tag_value(block, tag)
tags | A list of roxy_tags. |
---|---|
file, line | Location of the |
call | Expression associated with block. |
object | Optionally, the object associated with the block, found
by inspecting/evaluating |
block | A |
tag, tags | Either a single tag name, or a character vector of tag names. |
# The easiest way to see the structure of a roxy_block is to create one # using parse_text: text <- " #' This is a title #' #' @param x,y A number #' @export f <- function(x, y) x + y " # parse_text() returns a list of blocks, so I extract the first block <- parse_text(text)[[1]] block#> <roxy_block> [<text>:6] #> $tag #> [line: 1] @title 'This is a title' {parsed} #> [line: 4] @param 'x,y A number' {parsed} #> [line: 5] @export '' {parsed} #> [????:???] @usage '<generated>' {parsed} #> [????:???] @.formals '<generated>' {parsed} #> [????:???] @backref '<text>' {parsed} #> $call f <- function(x, y) x + y #> $object <function> #> $topic f #> $alias f