mirror of
https://github.com/msberends/AMR.git
synced 2026-03-19 23:02:26 +01:00
Pre-evaluate inline expressions, add format_inline_(), fix print.ab
- All bare {variable}/{expression} in message_()/warning_()/stop_() calls
are now pre-evaluated via paste0(), so users without cli/glue never see
raw template syntax (mo_source.R, first_isolate.R, join_microorganisms.R,
antibiogram.R, atc_online.R)
- Add format_inline_() helper: formats a cli-markup string and returns it
(not emits it), using cli::format_inline() when available and cli_to_plain()
otherwise
- Rewrite .onAttach to use format_inline_() for all packageStartupMessage
calls; also adds {.topic} link and {.code} markup for option names
- print.ab: pre-evaluate function_name via paste0 (no .envir needed),
apply highlight_code() to each example bullet for R syntax highlighting
- join_microorganisms: pre-evaluate {type} and {nrow(...)} expressions
https://claude.ai/code/session_01XHWLohiSTdZvCutwD7ag2b
This commit is contained in:
19
R/ab.R
19
R/ab.R
@@ -552,17 +552,14 @@ print.ab <- function(x, ...) {
|
||||
if (!is.null(attributes(x)$amr_selector)) {
|
||||
function_name <- attributes(x)$amr_selector
|
||||
if (pkg_is_available("cli", min_version = "3.0.0")) {
|
||||
cli::cli_inform(
|
||||
c(
|
||||
"i" = "This {.cls ab} vector was retrieved using {.fun {function_name}}, which should normally be used inside a {.pkg dplyr} verb or {.code data.frame} call, e.g.:",
|
||||
"*" = "{.code your_data %>% select({function_name}())}",
|
||||
"*" = "{.code your_data %>% select(column_a, column_b, {function_name}())}",
|
||||
"*" = "{.code your_data %>% filter(any({function_name}() == \"R\"))}",
|
||||
"*" = "{.code your_data[, {function_name}()]}",
|
||||
"*" = "{.code your_data[, c(\"column_a\", \"column_b\", {function_name}())]}"
|
||||
),
|
||||
.envir = environment()
|
||||
)
|
||||
cli::cli_inform(c(
|
||||
"i" = paste0("This {.cls ab} vector was retrieved using {.fun ", function_name, "}, which should normally be used inside a {.pkg dplyr} verb or {.code data.frame} call, e.g.:"),
|
||||
"*" = highlight_code(paste0("your_data %>% select(", function_name, "()")),
|
||||
"*" = highlight_code(paste0("your_data %>% select(column_a, column_b, ", function_name, "()")),
|
||||
"*" = highlight_code(paste0("your_data %>% filter(any(", function_name, "() == \"R\"))")),
|
||||
"*" = highlight_code(paste0("your_data[, ", function_name, "()]")),
|
||||
"*" = highlight_code(paste0("your_data[, c(\"column_a\", \"column_b\", ", function_name, "())]"))
|
||||
))
|
||||
} else {
|
||||
message(word_wrap(paste0(
|
||||
"This 'ab' vector was retrieved using `", function_name, "()`, which should normally be used inside a dplyr verb or data.frame call, e.g.:\n",
|
||||
|
||||
Reference in New Issue
Block a user