@@ -254,6 +254,7 @@ impl ToTokens for PostDecor {
254
254
PostDecor :: Hide { .. } => quote ! ( hide( ) ) ,
255
255
PostDecor :: CustomUsage { usage, .. } => quote ! ( custom_usage( #usage) ) ,
256
256
PostDecor :: HideUsage { .. } => quote ! ( hide_usage( ) ) ,
257
+ PostDecor :: Enter { name, .. } => quote ! ( enter( #name) ) ,
257
258
}
258
259
. to_tokens ( tokens) ;
259
260
}
@@ -339,6 +340,10 @@ pub(crate) enum PostDecor {
339
340
HideUsage {
340
341
span : Span ,
341
342
} ,
343
+ Enter {
344
+ name : Box < Expr > ,
345
+ span : Span ,
346
+ } ,
342
347
}
343
348
impl PostDecor {
344
349
fn span ( & self ) -> Span {
@@ -355,6 +360,7 @@ impl PostDecor {
355
360
| Self :: Guard { span, .. }
356
361
| Self :: Hide { span }
357
362
| Self :: CustomUsage { span, .. }
363
+ | Self :: Enter { span, .. }
358
364
| Self :: HideUsage { span } => * span,
359
365
}
360
366
}
@@ -544,6 +550,9 @@ impl PostDecor {
544
550
} else if kw == "custom_usage" {
545
551
let usage = parse_arg ( input) ?;
546
552
Self :: CustomUsage { usage, span }
553
+ } else if kw == "enter" {
554
+ let name = parse_expr ( input) ?;
555
+ Self :: Enter { span, name }
547
556
} else {
548
557
return Ok ( None ) ;
549
558
} ) )
0 commit comments