@@ -108,12 +108,7 @@ impl ErrorFormatter for RichFormatter {
108
108
styled. push_str ( "\n " ) ;
109
109
}
110
110
for suggestion in suggestions {
111
- let _ = write ! (
112
- styled,
113
- "\n {TAB}{}tip:{} " ,
114
- valid. render( ) ,
115
- valid. render_reset( )
116
- ) ;
111
+ let _ = write ! ( styled, "\n {TAB}{valid}tip:{valid:#} " , ) ;
117
112
styled. push_styled ( suggestion) ;
118
113
}
119
114
}
@@ -132,7 +127,7 @@ impl ErrorFormatter for RichFormatter {
132
127
fn start_error ( styled : & mut StyledStr , styles : & Styles ) {
133
128
use std:: fmt:: Write as _;
134
129
let error = & styles. get_error ( ) ;
135
- let _ = write ! ( styled, "{}error:{} " , error . render ( ) , error . render_reset ( ) ) ;
130
+ let _ = write ! ( styled, "{error }error:{error:# } " ) ;
136
131
}
137
132
138
133
#[ must_use]
@@ -155,26 +150,20 @@ fn write_dynamic_context(
155
150
prior_arg = None ;
156
151
let _ = write ! (
157
152
styled,
158
- "the argument '{}{invalid_arg}{}' cannot be used multiple times" ,
159
- invalid. render( ) ,
160
- invalid. render_reset( )
153
+ "the argument '{invalid}{invalid_arg}{invalid:#}' cannot be used multiple times" ,
161
154
) ;
162
155
} else {
163
156
let _ = write ! (
164
157
styled,
165
- "the argument '{}{invalid_arg}{}' cannot be used with" ,
166
- invalid. render( ) ,
167
- invalid. render_reset( )
158
+ "the argument '{invalid}{invalid_arg}{invalid:#}' cannot be used with" ,
168
159
) ;
169
160
}
170
161
} else if let Some ( ContextValue :: String ( invalid_arg) ) =
171
162
error. get ( ContextKind :: InvalidSubcommand )
172
163
{
173
164
let _ = write ! (
174
165
styled,
175
- "the subcommand '{}{invalid_arg}{}' cannot be used with" ,
176
- invalid. render( ) ,
177
- invalid. render_reset( )
166
+ "the subcommand '{invalid}{invalid_arg}{invalid:#}' cannot be used with" ,
178
167
) ;
179
168
} else {
180
169
styled. push_str ( error. kind ( ) . as_str ( ) . unwrap ( ) ) ;
@@ -185,21 +174,11 @@ fn write_dynamic_context(
185
174
ContextValue :: Strings ( values) => {
186
175
styled. push_str ( ":" ) ;
187
176
for v in values {
188
- let _ = write ! (
189
- styled,
190
- "\n {TAB}{}{v}{}" ,
191
- invalid. render( ) ,
192
- invalid. render_reset( )
193
- ) ;
177
+ let _ = write ! ( styled, "\n {TAB}{invalid}{v}{invalid:#}" , ) ;
194
178
}
195
179
}
196
180
ContextValue :: String ( value) => {
197
- let _ = write ! (
198
- styled,
199
- " '{}{value}{}'" ,
200
- invalid. render( ) ,
201
- invalid. render_reset( )
202
- ) ;
181
+ let _ = write ! ( styled, " '{invalid}{value}{invalid:#}'" , ) ;
203
182
}
204
183
_ => {
205
184
styled. push_str ( " one or more of the other specified arguments" ) ;
@@ -214,9 +193,7 @@ fn write_dynamic_context(
214
193
if let Some ( ContextValue :: String ( invalid_arg) ) = invalid_arg {
215
194
let _ = write ! (
216
195
styled,
217
- "equal sign is needed when assigning values to '{}{invalid_arg}{}'" ,
218
- invalid. render( ) ,
219
- invalid. render_reset( )
196
+ "equal sign is needed when assigning values to '{invalid}{invalid_arg}{invalid:#}'" ,
220
197
) ;
221
198
true
222
199
} else {
@@ -234,18 +211,12 @@ fn write_dynamic_context(
234
211
if invalid_value. is_empty ( ) {
235
212
let _ = write ! (
236
213
styled,
237
- "a value is required for '{}{invalid_arg}{}' but none was supplied" ,
238
- invalid. render( ) ,
239
- invalid. render_reset( )
214
+ "a value is required for '{invalid}{invalid_arg}{invalid:#}' but none was supplied" ,
240
215
) ;
241
216
} else {
242
217
let _ = write ! (
243
218
styled,
244
- "invalid value '{}{invalid_value}{}' for '{}{invalid_arg}{}'" ,
245
- invalid. render( ) ,
246
- invalid. render_reset( ) ,
247
- literal. render( ) ,
248
- literal. render_reset( )
219
+ "invalid value '{invalid}{invalid_value}{invalid:#}' for '{literal}{invalid_arg}{literal:#}'" ,
249
220
) ;
250
221
}
251
222
@@ -262,9 +233,7 @@ fn write_dynamic_context(
262
233
if let Some ( ContextValue :: String ( invalid_sub) ) = invalid_sub {
263
234
let _ = write ! (
264
235
styled,
265
- "unrecognized subcommand '{}{invalid_sub}{}'" ,
266
- invalid. render( ) ,
267
- invalid. render_reset( )
236
+ "unrecognized subcommand '{invalid}{invalid_sub}{invalid:#}'" ,
268
237
) ;
269
238
true
270
239
} else {
@@ -276,12 +245,7 @@ fn write_dynamic_context(
276
245
if let Some ( ContextValue :: Strings ( invalid_arg) ) = invalid_arg {
277
246
styled. push_str ( "the following required arguments were not provided:" ) ;
278
247
for v in invalid_arg {
279
- let _ = write ! (
280
- styled,
281
- "\n {TAB}{}{v}{}" ,
282
- valid. render( ) ,
283
- valid. render_reset( )
284
- ) ;
248
+ let _ = write ! ( styled, "\n {TAB}{valid}{v}{valid:#}" , ) ;
285
249
}
286
250
true
287
251
} else {
@@ -293,9 +257,7 @@ fn write_dynamic_context(
293
257
if let Some ( ContextValue :: String ( invalid_sub) ) = invalid_sub {
294
258
let _ = write ! (
295
259
styled,
296
- "'{}{invalid_sub}{}' requires a subcommand but one was not provided" ,
297
- invalid. render( ) ,
298
- invalid. render_reset( )
260
+ "'{invalid}{invalid_sub}{invalid:#}' requires a subcommand but one was not provided" ,
299
261
) ;
300
262
let values = error. get ( ContextKind :: ValidSubcommand ) ;
301
263
write_values_list ( "subcommands" , styled, valid, values) ;
@@ -316,11 +278,7 @@ fn write_dynamic_context(
316
278
{
317
279
let _ = write ! (
318
280
styled,
319
- "unexpected value '{}{invalid_value}{}' for '{}{invalid_arg}{}' found; no more were expected" ,
320
- invalid. render( ) ,
321
- invalid. render_reset( ) ,
322
- literal. render( ) ,
323
- literal. render_reset( ) ,
281
+ "unexpected value '{invalid}{invalid_value}{invalid:#}' for '{literal}{invalid_arg}{literal:#}' found; no more were expected" ,
324
282
) ;
325
283
true
326
284
} else {
@@ -340,13 +298,7 @@ fn write_dynamic_context(
340
298
let were_provided = singular_or_plural ( * actual_num_values as usize ) ;
341
299
let _ = write ! (
342
300
styled,
343
- "{}{min_values}{} values required by '{}{invalid_arg}{}'; only {}{actual_num_values}{}{were_provided}" ,
344
- valid. render( ) ,
345
- valid. render_reset( ) ,
346
- literal. render( ) ,
347
- literal. render_reset( ) ,
348
- invalid. render( ) ,
349
- invalid. render_reset( ) ,
301
+ "{valid}{min_values}{valid:#} values required by '{literal}{invalid_arg}{literal:#}'; only {invalid}{actual_num_values}{invalid:#}{were_provided}" ,
350
302
) ;
351
303
true
352
304
} else {
@@ -363,11 +315,7 @@ fn write_dynamic_context(
363
315
{
364
316
let _ = write ! (
365
317
styled,
366
- "invalid value '{}{invalid_value}{}' for '{}{invalid_arg}{}'" ,
367
- invalid. render( ) ,
368
- invalid. render_reset( ) ,
369
- literal. render( ) ,
370
- literal. render_reset( ) ,
318
+ "invalid value '{invalid}{invalid_value}{invalid:#}' for '{literal}{invalid_arg}{literal:#}'" ,
371
319
) ;
372
320
if let Some ( source) = error. inner . source . as_deref ( ) {
373
321
let _ = write ! ( styled, ": {source}" ) ;
@@ -390,13 +338,7 @@ fn write_dynamic_context(
390
338
let were_provided = singular_or_plural ( * actual_num_values as usize ) ;
391
339
let _ = write ! (
392
340
styled,
393
- "{}{num_values}{} values required for '{}{invalid_arg}{}' but {}{actual_num_values}{}{were_provided}" ,
394
- valid. render( ) ,
395
- valid. render_reset( ) ,
396
- literal. render( ) ,
397
- literal. render_reset( ) ,
398
- invalid. render( ) ,
399
- invalid. render_reset( ) ,
341
+ "{valid}{num_values}{valid:#} values required for '{literal}{invalid_arg}{literal:#}' but {invalid}{actual_num_values}{invalid:#}{were_provided}" ,
400
342
) ;
401
343
true
402
344
} else {
@@ -408,9 +350,7 @@ fn write_dynamic_context(
408
350
if let Some ( ContextValue :: String ( invalid_arg) ) = invalid_arg {
409
351
let _ = write ! (
410
352
styled,
411
- "unexpected argument '{}{invalid_arg}{}' found" ,
412
- invalid. render( ) ,
413
- invalid. render_reset( ) ,
353
+ "unexpected argument '{invalid}{invalid_arg}{invalid:#}' found" ,
414
354
) ;
415
355
true
416
356
} else {
@@ -437,13 +377,11 @@ fn write_values_list(
437
377
if !possible_values. is_empty ( ) {
438
378
let _ = write ! ( styled, "\n {TAB}[{list_name}: " ) ;
439
379
440
- let style = valid. render ( ) ;
441
- let reset = valid. render_reset ( ) ;
442
380
for ( idx, val) in possible_values. iter ( ) . enumerate ( ) {
443
381
if idx > 0 {
444
382
styled. push_str ( ", " ) ;
445
383
}
446
- let _ = write ! ( styled, "{style }{}{reset }" , Escape ( val) ) ;
384
+ let _ = write ! ( styled, "{valid }{}{valid:# }" , Escape ( val) ) ;
447
385
}
448
386
449
387
styled. push_str ( "]" ) ;
@@ -517,48 +455,35 @@ fn try_help(styled: &mut StyledStr, styles: &Styles, help: Option<&str>) {
517
455
let literal = & styles. get_literal ( ) ;
518
456
let _ = write ! (
519
457
styled,
520
- "\n \n For more information, try '{}{help}{}'.\n " ,
521
- literal. render( ) ,
522
- literal. render_reset( )
458
+ "\n \n For more information, try '{literal}{help}{literal:#}'.\n " ,
523
459
) ;
524
460
} else {
525
461
styled. push_str ( "\n " ) ;
526
462
}
527
463
}
528
464
529
465
#[ cfg( feature = "error-context" ) ]
530
- fn did_you_mean ( styled : & mut StyledStr , styles : & Styles , context : & str , valid : & ContextValue ) {
466
+ fn did_you_mean ( styled : & mut StyledStr , styles : & Styles , context : & str , possibles : & ContextValue ) {
531
467
use std:: fmt:: Write as _;
532
468
533
- let _ = write ! (
534
- styled,
535
- "{TAB}{}tip:{}" ,
536
- styles. get_valid( ) . render( ) ,
537
- styles. get_valid( ) . render_reset( )
538
- ) ;
539
- if let ContextValue :: String ( valid) = valid {
469
+ let valid = & styles. get_valid ( ) ;
470
+ let _ = write ! ( styled, "{TAB}{valid}tip:{valid:#}" , ) ;
471
+ if let ContextValue :: String ( possible) = possibles {
540
472
let _ = write ! (
541
473
styled,
542
- " a similar {context} exists: '{}{valid}{}'" ,
543
- styles. get_valid( ) . render( ) ,
544
- styles. get_valid( ) . render_reset( )
474
+ " a similar {context} exists: '{valid}{possible}{valid:#}'" ,
545
475
) ;
546
- } else if let ContextValue :: Strings ( valid ) = valid {
547
- if valid . len ( ) == 1 {
476
+ } else if let ContextValue :: Strings ( possibles ) = possibles {
477
+ if possibles . len ( ) == 1 {
548
478
let _ = write ! ( styled, " a similar {context} exists: " , ) ;
549
479
} else {
550
480
let _ = write ! ( styled, " some similar {context}s exist: " , ) ;
551
481
}
552
- for ( i, valid ) in valid . iter ( ) . enumerate ( ) {
482
+ for ( i, possible ) in possibles . iter ( ) . enumerate ( ) {
553
483
if i != 0 {
554
484
styled. push_str ( ", " ) ;
555
485
}
556
- let _ = write ! (
557
- styled,
558
- "'{}{valid}{}'" ,
559
- styles. get_valid( ) . render( ) ,
560
- styles. get_valid( ) . render_reset( )
561
- ) ;
486
+ let _ = write ! ( styled, "'{valid}{possible}{valid:#}'" , ) ;
562
487
}
563
488
}
564
489
}
0 commit comments