Find missing 'return' tag when function exported

find_missing_tags(
  package.dir = ".",
  roclets = NULL,
  load_code = NULL,
  clean = FALSE
)

Arguments

package.dir

Location of package top level directory. Default is working directory.

roclets

Character vector of roclet names to use with package. The default, NULL, uses the roxygen roclets option, which defaults to c("collate", "namespace", "rd").

load_code

A function used to load all the R code in the package directory. The default, NULL, uses the strategy defined by the load roxygen option, which defaults to load_pkgload(). See load for more details.

clean

If TRUE, roxygen will delete all files previously created by roxygen before running each roclet.

Value

a list with the 3 data.frames with the missing tags

Examples

if (FALSE) {
# What you will do from inside your package
find_missing_tags()
}
# A reproducible example on a test package
pkg_path <- create_example_pkg()
#>  Creating '/tmp/RtmpFU8HyQ/pkg-189921c8a033/checkpackage/'
#>  Setting active project to '/tmp/RtmpFU8HyQ/pkg-189921c8a033/checkpackage'
#>  Creating 'R/'
#>  Writing 'DESCRIPTION'
#> Package: checkpackage
#> Title: What the Package Does (One Line, Title Case)
#> Version: 0.0.0.9000
#> Authors@R (parsed):
#>     * First Last <first.last@example.com> [aut, cre] (YOUR-ORCID-ID)
#> Description: What the package does (one paragraph).
#> License: `use_mit_license()`, `use_gpl3_license()` or friends to
#>     pick a license
#> Encoding: UTF-8
#> Roxygen: list(markdown = TRUE)
#> RoxygenNote: 7.3.0
#>  Writing 'NAMESPACE'
#>  Setting active project to '<no active project>'
#> Saving attachment parameters to yaml config file
#> Updating checkpackage documentation
#> Writing NAMESPACE
#>  Loading checkpackage
#>  function.R:4: @return requires a value.
#> Writing NAMESPACE
#> Writing my_long_fun_name_for_multiple_lines_globals.Rd
#> Writing my_plot.Rd
#> Writing my_not_exported_doc.Rd
#>  Loading checkpackage
#> [+] 1 package(s) added: dplyr.
find_missing_tags(pkg_path)
#>  Loading checkpackage
#>  function.R:4: @return requires a value.
#> Problem: Missing or empty return value for exported functions: my_long_fun_name_for_multiple_lines_globals
#> 
#> Problem: Doc available but need to choose between `@export` or `@noRd`: my_not_exported_doc
#> 
#>  Loading checkpackage
#>  function.R:4: @return requires a value.
#> $package_doc
#> # A tibble: 0 × 0
#> 
#> $data
#> # A tibble: 0 × 0
#> 
#> $functions
#> # A tibble: 5 × 11
#>      id filename  topic has_export has_return return_value has_nord rdname_value
#>   <int> <chr>     <chr> <lgl>      <lgl>      <chr>        <lgl>    <chr>       
#> 1     1 function… my_l… TRUE       FALSE      ""           FALSE    my_long_fun…
#> 2     2 function… my_p… TRUE       TRUE       "GGplot for… FALSE    my_plot     
#> 3     3 function… my_n… FALSE      FALSE      ""           FALSE    my_not_expo…
#> 4     4 function… my_n… FALSE      FALSE      ""           TRUE     my_not_expo…
#> 5     5 function… my_p… TRUE       TRUE       "GGplot for… FALSE    my_plot     
#> # ℹ 3 more variables: not_empty_return_value <lgl>,
#> #   test_has_export_and_return <chr>, test_has_export_or_has_nord <chr>
#>