@@ -73,43 +73,42 @@ control_grid <- function(
7373}
7474
7575# Helper function to print control settings using cli
76- print_control_settings <- function (x ) {
76+ print_control_settings <- function (x , default = FALSE , defaults = NULL ) {
7777 # Get the fields to print
7878 fields <- names(x )
7979
80+ # Optionally reduce to only non-defaults
81+ if (default && ! is.null(defaults )) {
82+ fields <- fields [
83+ ! vapply(
84+ fields ,
85+ function (field ) {
86+ identical(x [[field ]], defaults [[field ]])
87+ },
88+ logical (1 )
89+ )
90+ ]
91+ }
92+
8093 # Build formatted lines for each field
8194 for (field in fields ) {
8295 value <- x [[field ]]
8396
84- # Format the value based on type
85- if (is.null(value )) {
86- formatted_value <- " NULL"
87- } else if (is.function(value )) {
88- formatted_value <- " <function>"
89- } else if (is.logical(value )) {
90- formatted_value <- as.character(value )
91- } else if (is.numeric(value )) {
92- formatted_value <- format(value )
93- } else if (is.character(value )) {
94- if (length(value ) == 1 ) {
95- formatted_value <- paste0(" '" , value , " '" )
96- } else {
97- formatted_value <- paste0(" [" , paste(value , collapse = " , " ), " ]" )
98- }
97+ if (is.function(value )) {
98+ cli :: cli_bullets(c(" " = " {.arg {field}}: <function>" ))
9999 } else if (inherits(value , " tune_backend_options" )) {
100- formatted_value <- " <backend_options>"
100+ cli :: cli_bullets(c( " " = " {.arg {field}}: <backend_options>" ))
101101 } else {
102- formatted_value <- paste0( " < " , class( value )[ 1 ], " > " )
102+ cli :: cli_bullets(c( " " = " {.arg {field}}: {.val {value}} " ) )
103103 }
104-
105- cli :: cli_bullets(c(" " = paste0(" {.field " , field , " }: " , formatted_value )))
106104 }
107105}
108106
109107# ' @export
110- print.control_grid <- function (x , ... ) {
108+ print.control_grid <- function (x , default = FALSE , ... ) {
111109 cli :: cli_text(" {.emph Grid/resamples control object}" )
112- print_control_settings(x )
110+ defaults <- control_grid()
111+ print_control_settings(x , default = default , defaults = defaults )
113112 invisible (x )
114113}
115114
@@ -150,9 +149,10 @@ control_last_fit <- function(
150149}
151150
152151# ' @export
153- print.control_last_fit <- function (x , ... ) {
152+ print.control_last_fit <- function (x , default = FALSE , ... ) {
154153 cli :: cli_text(" {.emph Last fit control object}" )
155- print_control_settings(x )
154+ defaults <- control_last_fit()
155+ print_control_settings(x , default = default , defaults = defaults )
156156 invisible (x )
157157}
158158
@@ -338,9 +338,10 @@ control_bayes <-
338338 }
339339
340340# ' @export
341- print.control_bayes <- function (x , ... ) {
341+ print.control_bayes <- function (x , default = FALSE , ... ) {
342342 cli :: cli_text(" {.emph Bayes control object}" )
343- print_control_settings(x )
343+ defaults <- control_bayes()
344+ print_control_settings(x , default = default , defaults = defaults )
344345 invisible (x )
345346}
346347
0 commit comments