10 Combining .R files

This section should eventually be removed but for now I’m doing this to convince myself that the package generated by this .Rmd file really matches the initial version created without the package.

library(magrittr)
library(purrr)
## 
## Attaching package: 'purrr'
## The following object is masked from 'package:magrittr':
## 
##     set_names
rfiles <- fs::dir_ls("R")
code <- rfiles %>% 
  map(readLines) %>% 
  set_names(
    rfiles %>% stringr::str_remove("^.*/") %>% stringr::str_remove(".R$")
    )
hash_functions <- c("hash_package_directory",
                    "description_litr_hash_field_name",
                    "write_hash_to_description",
                    "read_hash_from_description",
                    "check_unedited")
render_functions <- c("render",
                      "with_cleanup",
                      "litrify_output_format",
                      "litr_pdf_document",
                      "litr_html_document",
                      "litr_gitbook",
                      "replace_ansi_sequences",
                      "add_function_hyperlinks",
                      "insert_hrefs",
                      "add_chunk_label_hyperlinks",
                      "restore_knitr_objects",
                      "remove_rstudio_extras",
                      "get_params_used",
                      "get_package_directory",
                      "do_not_edit_message",
                      "description_litr_version_field_name",
                      "write_version_to_description",
                      "document",
                      "load_all")
setup_functions <- c("setup",
                     "make_noticeable",
                     "send_to_package",
                     "add_text_to_file",
                     "find_labels")
extras_functions <- c("add_readme",
                      "add_hex_sticker",
                      "add_vignettes",
                      "add_pkgdown")
remove_initial_lines <- function(code_list) {
  # drop first line of each list element except for the first list element
  c(code_list[1], map(code_list[-1], ~ .x[-1]))
}
fs::file_delete(setdiff(rfiles, "R/litr-package.R"))
writeLines(unlist(remove_initial_lines(code[hash_functions])), "R/hash.R")
writeLines(unlist(remove_initial_lines(code[render_functions])), "R/render.R")
writeLines(unlist(remove_initial_lines(code[setup_functions])), "R/setup.R")
writeLines(unlist(remove_initial_lines(code[extras_functions])), "R/extras.R")