Find the position of an "Rd_tag"
Rdo_get_insert_pos.Rd
Find the position of an "Rd_tag".
Details
This function returns a position in rdo
, where the next element
carrying "Rd_tag" tag
should be inserted. The position is
determined as follows.
If one or more elements of rdo
have "Rd_tag" tag
, then
the position is one plus the position of the last such element.
If there are no elements with "Rd_tag" tag
, the position is one
plus the length of rdo
, unless tag
is a known top level
Rd section. In that case, the position is such that the standard
ordering of sections in an Rd object is followed. This is set in the
internal variable .rd_sections
.
Examples
#h <- help("Rdo_macro")
#rdo <- utils:::.getHelpFile(h)
rdo <- Rdo_fetch("Rdo_macro", "Rdpack")
ialias <- which(tools:::RdTags(rdo) == "\\alias")
ialias
#> [1] 3 4 5 6 7
next_pos <- Rdo_get_insert_pos(rdo, "\\alias") # 1 + max(ialias)
next_pos
#> [1] 8
stopifnot(next_pos == max(ialias) + 1)
ikeyword <- which(tools:::RdTags(rdo) == "\\keyword")
ikeyword
#> [1] 8
next_pos <- Rdo_get_insert_pos(rdo, "\\keyword") # 1 + max(ikeyword)
next_pos
#> [1] 9
stopifnot(next_pos == max(ikeyword) + 1)