@@ -4,8 +4,6 @@ macro_rules! run_day {
44 { $i: expr, $curr_day: expr, $year: expr, $opt: expr } ,
55 { day $day: ident { $gen: tt { $( $sol: tt ) * } } }
66 ) => { {
7- use $crate:: colored:: * ;
8-
97 if stringify!( $day) == $curr_day {
108 if $i != 0 { println!( ) }
119 let day = $curr_day[ 3 ..] . parse( ) . expect( "days must be integers" ) ;
@@ -43,16 +41,19 @@ macro_rules! run_gen {
4341
4442 // Run generator
4543 ( $day: ident, $data: expr, { gen $generator: ident } ) => { {
44+ use $crate:: print:: Line ;
45+
4646 let start = Instant :: now( ) ;
4747 let input = $day:: $generator( $data) ;
4848 let elapsed = start. elapsed( ) ;
49- $crate :: print_with_duration ( "generator" , None , Some ( elapsed) ) ;
49+ println! ( " - {}" , Line :: new ( "generator" ) . with_duration ( elapsed) ) ;
5050 Some ( input)
5151 } } ;
5252
5353 // Run fallible generator
5454 ( $day: ident, $data: expr, { gen_fallible $generator: ident } ) => { {
5555 use $crate:: colored:: * ;
56+ use $crate:: print:: Line ;
5657 use $crate:: try_unwrap:: TryUnwrap ;
5758
5859 let start = Instant :: now( ) ;
@@ -61,11 +62,16 @@ macro_rules! run_gen {
6162
6263 match result. try_unwrap( ) {
6364 Ok ( input) => {
64- $crate :: print_with_duration ( "generator" , None , Some ( elapsed) ) ;
65+ println! ( " - {}" , Line :: new ( "generator" ) . with_duration ( elapsed) ) ;
6566 Some ( input)
6667 }
6768 Err ( msg) => {
68- $crate:: print_with_duration( "generator" , Some ( msg. red( ) ) , Some ( elapsed) ) ;
69+ println!(
70+ " - {}" ,
71+ Line :: new( "generator" )
72+ . with_duration( elapsed)
73+ . with_state( msg. red( ) )
74+ ) ;
6975 None
7076 }
7177 }
@@ -76,44 +82,55 @@ macro_rules! run_gen {
7682macro_rules! run_sol {
7783 // Run solution
7884 ( $day: ident, $input: expr, { sol $solution: ident } ) => { {
85+ use $crate:: colored:: * ;
86+ use $crate:: print:: Line ;
87+
7988 let start = Instant :: now( ) ;
8089 let response = $day:: $solution( $input) ;
8190 let elapsed = start. elapsed( ) ;
8291
83- $crate:: print_with_duration(
84- stringify!( $solution) ,
85- Some ( format!( "{}" , response) . normal( ) ) ,
86- Some ( elapsed) ,
92+ println!(
93+ " - {}" ,
94+ Line :: new( stringify!( $solution) )
95+ . with_duration( elapsed)
96+ . with_state( format!( "{}" , response) . normal( ) )
8797 ) ;
8898 } } ;
8999
90100 // Run fallible solution
91101 ( $day: ident, $input: expr, { sol_fallible $solution: ident } ) => { {
92102 use $crate:: colored:: * ;
103+ use $crate:: print:: Line ;
93104 use $crate:: try_unwrap:: TryUnwrap ;
94105
95106 let start = Instant :: now( ) ;
96107 let response = $day:: $solution( $input) ;
97108 let elapsed = start. elapsed( ) ;
109+ let line = Line :: new( stringify!( $solution) ) . with_duration( elapsed) ;
98110
99- match response. try_unwrap( ) {
100- Ok ( response) => {
101- $crate:: print_with_duration(
102- stringify!( $solution) ,
103- Some ( format!( "{}" , response) . normal( ) ) ,
104- Some ( elapsed) ,
105- ) ;
106- }
107- Err ( msg) => {
108- $crate:: print_with_duration( stringify!( $solution) , Some ( msg. red( ) ) , Some ( elapsed) ) ;
111+ println!(
112+ " - {}" ,
113+ match response. try_unwrap( ) {
114+ Ok ( response) => {
115+ line. with_state( format!( "{}" , response) . normal( ) )
116+ }
117+ Err ( msg) => {
118+ line. with_state( msg. red( ) )
119+ }
109120 }
110- }
121+ ) ;
111122 } } ;
112123}
113124
114125#[ macro_export]
115126macro_rules! skip_sol {
116127 ( { $kind: tt $solution: ident } ) => { {
117- $crate:: print_with_duration( stringify!( $solution) , Some ( "skipped" . dimmed( ) ) , None ) ;
128+ use $crate:: colored:: * ;
129+ use $crate:: print:: Line ;
130+
131+ println!(
132+ " - {}" ,
133+ Line :: new( stringify!( $solution) ) . with_state( "skipped" . dimmed( ) )
134+ ) ;
118135 } } ;
119136}
0 commit comments