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()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.