originze_dir
and originize_pkg
, default remains to be .R files only.
This can be changed by setting the filetypes
argument or
the origin.filetypes
option. Thanks to @nathanhaigh for raising the issue
#7.rstudioapi::sourceMarkers
does not allow for HTML styling anymore since
RStudio version 2023.03.0.
See more about this here
and here.
Thanks for @Dschaykip raising this issue
#6.check_pkg_usage
now allows for no provided packages, resulting in checking
all standard R packages.print.pkg_usage()
function. Using {cli} to properly style console
outputs. ask_before_applying_changes
now mutes all
checks, i.e. a large number of files, local functions mask exported functions,
and the presence and order of function conflicts,
#4.
Thanks to @Dschaykib for the feature request. instance$method()
) are no longer
flagged as functions.This is a new release of origin
with significant changes and improvements.
It adds a complete new purpose by checking the actual usage of packages in a
project. Under the hood, parsed code rather than regexes are used to originize
code and check package usages.
check_package_usage
takes a directory that contains R files
(sub directories included by default) and a vector of R package names. It checkspkg::fct
used functions with unknown origin
Note that check_package_usage
does not look for packages that
might have exported those functions, even if the missed package has
been called via ::
at another occasion in the same code.
This functionality makes it easy to quickly check a project for which packages
are actually still needed when dealing with a huge barrage of library
calls.
Markers show where unspecified functions are called, either specifically
via pkg::
or with completely unknown origin
A detailed data.frame output, hidden under the custom print
method,
gives a deep dive of which functions are used how often.
origin
for CRAN.originize_pkg
is designed to originize a package project.
The main difference to originize_dir
is that it automatically considers
all packages listed in the DESCRIPTION
file as Imports, Suggest, or Depends.mutate
function).rprojroot
functionalities by rstudioapi
and a logic to determine
the shared root path of all originized files to find local functions.get_local_functions
. Before, it was
possible that origin
got stuck here due to referring to symlinks.originize_text
since it should be rarely used in practice
directly but rather internally only.origin
.originize_dir
get_local_functions()
exclude_files
did not work properly in originize_dir()
origin::get_local_functions()
. It collects the names of all functions defined anywhere
in the project, not just in the currently originized file(s). Those user
defined functions have higher priority than any exported function. A message
is triggered to inform the useroriginize_current_dir()
originize_dir()
originize selection
origin
options()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.