roxygen_remove_extra_brace: Fix 'tools::parse_Rd()' output

View source: R/roxygen-examples-parse.R

roxygen_remove_extra_braceR Documentation

Fix tools::parse_Rd() output

Description

Since tools::parse_Rd() treats braces in quotes as literal braces when determining brace symmetry, a brace might be added in error to the parsed data (at the end). We'll remove one at the time, check if output is parsable until no braces are left. If we end up with no braces left, we signal a parsing error, otherwise, we return the initial (not parsable input due to dont sequence) with the trailing braces removed.

Usage

roxygen_remove_extra_brace(parsed)

Examples

styler:::parse_roxygen(
  c(
    "#' @examples",
    "#' x <- '{'",
    "#' \\dontrun{",
    "#' fu(x = 3)",
    "#' }"
  )
)
styler:::parse_roxygen(
  c(
    "#' @examples",
    "#' x <- '{'",
    "#' \\dontrun{",
    "#' c('{', \"'{{{\" ,\"[\")",
    "#' }"
  )
)

krlmlr/styler documentation built on Dec. 12, 2024, 8:36 a.m.