Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = FALSE
)
## -----------------------------------------------------------------------------
# install.packages("contextFind")
## -----------------------------------------------------------------------------
# devtools::install_github("s87jackson/contextFind")
## -----------------------------------------------------------------------------
# library(contextFind)
#
# # Search for all function definitions in your project
# contextFind("<- function")
## -----------------------------------------------------------------------------
# # No context - just the matching line
# contextFind("renderPlot", contextLines = 0)
#
# # More context for complex functions
# contextFind("reactive", contextLines = 5)
## -----------------------------------------------------------------------------
# # Search only in the R/ directory
# contextFind("validate", path = "R")
#
# # Search in a subdirectory
# contextFind("test", path = "tests/testthat")
## -----------------------------------------------------------------------------
# # Search only the current directory (no subdirectories)
# contextFind("TODO", recursive = FALSE)
#
# # Search all subdirectories (default)
# contextFind("TODO", recursive = TRUE)
## -----------------------------------------------------------------------------
# # Find all function definitions
# contextFind("<- function")
#
# # Find a specific function
# contextFind("calculate_metrics <- function")
## -----------------------------------------------------------------------------
# # Find where a variable is used
# contextFind("user_data")
#
# # Find reactive values in Shiny apps
# contextFind("reactiveVal")
## -----------------------------------------------------------------------------
# # Find specific input widgets
# contextFind("selectInput")
#
# # Find output renderers
# contextFind("renderPlot")
## -----------------------------------------------------------------------------
# # Find all TODO comments
# contextFind("TODO")
#
# # Find FIXME or bug markers
# contextFind("FIXME")
#
# # Find deprecated functions
# contextFind(".Deprecated")
## -----------------------------------------------------------------------------
# # Find all uses of a package
# contextFind("dplyr::")
#
# # Find library calls
# contextFind("library(")
#
# # Find specific ggplot geoms
# contextFind("geom_point")
## -----------------------------------------------------------------------------
# # Find browser() calls you may have left in code
# contextFind("browser()")
#
# # Find print statements
# contextFind("print(")
#
# # Find error handling
# contextFind("tryCatch")
## -----------------------------------------------------------------------------
# # Store results
# results <- contextFind("ggplot")
#
# # Access the first match
# results[[1]]$file # Full file path
# results[[1]]$match_line # Line number where match was found
# results[[1]]$mtime # File modification time
# results[[1]]$context # Named character vector of context lines
#
# # Get all matching files
# unique(sapply(results, function(x) x$file))
#
# # Count matches per file
# table(sapply(results, function(x) basename(x$file)))
#
# # Find most recently modified files with matches
# recent <- results[[length(results)]]
# cat("Most recent match in:", basename(recent$file),
# "at line", recent$match_line, "\n")
## -----------------------------------------------------------------------------
# # Find all assignments to variables starting with "df_"
# contextFind("df_")
#
# # Find function calls (including arguments)
# contextFind("function(")
## -----------------------------------------------------------------------------
# # After modifying files, find where you used a new function
# contextFind("new_function")
## -----------------------------------------------------------------------------
# # Find all observers
# contextFind("observe(")
#
# # Find all event handlers
# contextFind("observeEvent")
#
# # Find module calls
# contextFind("Module(")
## -----------------------------------------------------------------------------
# # Find all functions that need documentation
# results <- contextFind("<- function", contextLines = 0)
#
# # Check if they have roxygen comments
# documented <- sapply(results, function(r) {
# lines <- readLines(r$file)
# line_before <- lines[max(1, r$match_line - 1)]
# grepl("#'", line_before)
# })
#
# cat(sprintf("%d of %d functions have documentation\n",
# sum(documented), length(documented)))
## -----------------------------------------------------------------------------
# # These are different searches:
# contextFind("data") # lowercase
# contextFind("Data") # uppercase
## -----------------------------------------------------------------------------
# # Search only source files
# contextFind("function", path = "R/")
#
# # Search only test files
# contextFind("expect_", path = "tests/testthat/")
#
# # Search only vignettes
# contextFind("knitr", path = "vignettes/")
## -----------------------------------------------------------------------------
# # Search for roxygen @export tags
# results <- contextFind("@export", path = "R/")
#
# # Find what functions are exported
# exported_functions <- sapply(results, function(r) {
# lines <- readLines(r$file)
# # Look ahead for function definition
# func_line <- lines[r$match_line + 1]
# if (grepl("<- function", func_line)) {
# trimws(gsub("<-.*", "", func_line))
# } else {
# NA
# }
# })
#
# cat("Exported functions:\n")
# print(na.omit(exported_functions))
## -----------------------------------------------------------------------------
# # Find potential hardcoded file paths
# contextFind("C:/")
# contextFind("/Users/")
#
# # Find hardcoded credentials (be careful!)
# contextFind("password")
# contextFind("api_key")
## -----------------------------------------------------------------------------
# # Count UI elements
# ui_results <- contextFind("Input(", path = ".")
# cat("Number of input widgets:", length(ui_results), "\n")
#
# # Count outputs
# output_results <- contextFind("render", path = ".")
# cat("Number of render functions:", length(output_results), "\n")
#
# # Find reactive chains
# contextFind("reactive(")
# contextFind("observe(")
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.