astyle <- function(extra_args = character()) {
astyle_cmd <- "astyle"
if (Sys.which(astyle_cmd) == "") {
skip("astyle not found")
}
astyle_args <- c(
"-n",
"--indent=spaces=2",
"--indent-cases",
"--unpad-paren",
"--pad-header",
"--pad-oper",
"--min-conditional-indent=0",
"--align-pointer=type",
"--align-reference=type"
)
tryCatch(
{
src_path <- testthat::test_path("../../src")
src_path <- normalizePath(src_path)
},
warning = function(e) {
skip(paste0("Sources not found: ", conditionMessage(e)))
},
error = function(e) {
skip(paste0("Sources not found: ", conditionMessage(e)))
}
)
src_files <- dir(src_path, "[.](?:cpp|h)$", recursive = FALSE, full.names = TRUE)
astyle_files <- grep("(?:RcppExports[.]cpp)", src_files, value = TRUE, invert = TRUE)
output <- system2(astyle_cmd, c(astyle_args, astyle_files, extra_args), stdout = TRUE, stderr = TRUE)
unchanged <- grepl("^Unchanged", output)
if (any(!unchanged)) {
warning(paste(output[!unchanged], collapse = "\n"))
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.