I would like to have a set of colors become defined when a package loads and cleared when package detaches.
What I've come up with that seems to work is shown in the following toy example which relies on deep assignment (which I know to be evil)
.onLoad <- function(libname, pkgname) {
}
.registerColors <- function(){
C.1 <<- c("#FF0000FF", "#80FF00FF", "#00FFFFFF", "#8000FFFF")
C.2 <<- c("#00AAFFFF", "#0000FFFF", "#AA00FFFF", "#FF00AAFF")
}
.onUnload <- function(libpath){
}
.onAttach <- function(libname, pkgname) {
.registerColors()
packageStartupMessage("Welcome to XYZ")
}
.onDetach <- function(libname, pkgname) {
rm(C.1, C.2, pos = 1)
packageStartupMessage("Buh-bye")
}
In this case, plot(seq(1:4, col = C.1) works. Is there a better or more elegant or less potentially destructive way to implement this?