R: Collect aliases or other metadata from an Rd object

Rdo_collect_aliases {Rdpack} | R Documentation

## Collect aliases or other metadata from an Rd object

### Description

Collect aliases or other metadata from an Rd object.

### Usage

    Rdo_collect_aliases(rdo)

    Rdo_collect_metadata(rdo, sec)

### Arguments

`rdo` | an Rd object
`sec` | the kind of metadata to collect, a character string, such as "alias" and "keyword".

### Details

`Rdo_collect_aliases` finds all aliases in `rdo` and returns them as a named character vector. The name of an alias is usually the empty string, `""`, but it may also be "windows" or "unix" if the alias is wrapped in a `#ifdef` directive with the corresponding first argument.

`Rdo_collect_metadata` is a generalisation of the above. It collects the metadata from section(s) `sec`, where `sec` is the name of a section without the leading backslash. `sec` is assumed to be a section containing a single word, such as "keyword", "alias", "name".

Currently `Rdo_collect_metadata` is not exported.

### Value

a named character vector, as described in Details.

### Author(s)

Georgi N. Boshnakov

### See Also

`tools:::.Rd_get_metadata`

### Examples

    ## this example originally (circa 2012) was:
    ##     infile <- file.path(R.home(), "src/library/base/man/timezones.Rd")
    ## but the OS conditional alias in that file has been removed.
    ## So, create an artificial example:
    infile <- system.file("examples", "tz.Rd", package = "Rdpack")

    ## file.show(infile)
    rd <- tools::parse_Rd(infile)

    ## The functions described here handle "ifdef" and similar directives.
    ## This detects OS specific aliases (windows = "onlywin" and unix = "onlyunix"):
    Rdo_collect_aliases(rd)
    Rdpack:::Rdo_collect_metadata(rd, "alias") # same

    ## In contrast, the following do not find "onlywin" and "onlyunix":
    sapply(rd[which(tools:::RdTags(rd)=="\alias")], as.character)
    tools:::.Rd_get_metadata(rd, "alias")

    Rdpack:::Rdo_collect_metadata(rd, "name")
    Rdpack:::Rdo_collect_metadata(rd, "keyword")

[Package Rdpack version 0.10-1 Index]