knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "README-" )
errorist: one who holds to and propagates error
--- Merriam Webster
The goal of errorist
is to automatically search errors and warnings the
second they arise.
The errorist
package is available on both CRAN and GitHub. The CRAN
version is considered stable while the GitHub version is in a state of
development and may break. You can install the stable version of the
errorist
package with:
install.packages("errorist")
For the development version, you can opt for:
if(!requireNamespace("remotes")) { install.packages("remotes") } remotes::install_github("coatless-rpkg/errorist")
library(errorist)
When the errorist
package is loaded, two handlers are automatically
established to intercept the error and warning messages that arise during
execution of code. The intercepted messages are then directed to pre-specified
search engines on the internet using the user's preferred system web browser.
By default, the search engine used to look up the messages is Google.
You can specify a different search engine handler by setting default values:
errorist.warning
: Warning search engine portal. The default is searcher::search_google
.errorist.error
: Error search engine portal. The default is searcher::search_google
.errorist.autoload
: Automatically search errors. The default is TRUE
.If frequent use of the package occurs, consider adding the different search
handlers as an option in your .Rprofile
:
# Add custom options .First <- function() { options( errorist.warning = searcher::search_google, errorist.error = searcher::search_google ) } # Load the package if in RStudio or R GUI if (interactive()) { suppressMessages(require(errorist)) }
The idea for errorist
came from a conversation among
Dirk Eddelbuettel,
Barry Rowlingson, and myself musing about
having compilers provide a link explaining what the error meant and how to
solve it. This conversation was sprouted due to the mouse overtext of
XKCD Comic 1185: Ineffective Sorts.
StackSort connects to StackOverflow, searches for 'sort a list', and downloads and runs code snippets until the list is sorted.
This type of code search was implemented by:
https://gkoberger.github.io/stacksort/
The idea morphed from evaluating random code chunks to providing search support for errors that occurred at runtime.
addTaskCallback()
as a way to create a warning handler and for a brief discussion on "call"
objects.last.warning
object that R populates with warning messages.GPL (>= 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.