File tree Expand file tree Collapse file tree 2 files changed +15
-17
lines changed Expand file tree Collapse file tree 2 files changed +15
-17
lines changed Original file line number Diff line number Diff line change @@ -9,17 +9,20 @@ struct Token {
99 children : bool ,
1010}
1111
12- impl ToString for Token {
13- fn to_string ( & self ) -> String {
12+ impl Display for Token {
13+ fn fmt ( & self , f : & mut std :: fmt :: Formatter ) -> std :: fmt :: Result {
1414 let Token { siblings, children } = self ;
1515
16- match ( siblings, children) {
17- ( true , true ) => "│ " ,
18- ( true , false ) => "├── " ,
19- ( false , true ) => " " ,
20- ( false , false ) => "└── " ,
21- }
22- . to_string ( )
16+ write ! (
17+ f,
18+ "{}" ,
19+ match ( siblings, children) {
20+ ( true , true ) => "│ " ,
21+ ( true , false ) => "├── " ,
22+ ( false , true ) => " " ,
23+ ( false , false ) => "└── " ,
24+ }
25+ )
2326 }
2427}
2528
@@ -50,7 +53,7 @@ impl Display for Indentation {
5053 let first: usize = if self . ignore_root { 1 } else { 0 } ;
5154
5255 for token in & self . tokens [ first..] {
53- write ! ( f, "{}" , token . to_string ( ) ) ?;
56+ write ! ( f, "{token}" ) ?;
5457 }
5558
5659 Ok ( ( ) )
Original file line number Diff line number Diff line change @@ -733,16 +733,11 @@ impl<T: Display> Display for Tree<T> {
733733 match edge {
734734 Edge :: Open ( node) if node. has_children ( ) => {
735735 indent. indent ( node. next_sibling ( ) . is_some ( ) ) ;
736- write ! ( f, "{}{}\n " , indent. to_string( ) , node. value( ) ) ?;
737- }
738- Edge :: Open ( node) if node. next_sibling ( ) . is_some ( ) => {
739- indent. indent ( node. next_sibling ( ) . is_some ( ) ) ;
740- write ! ( f, "{}{}\n " , indent. to_string( ) , node. value( ) ) ?;
741- indent. deindent ( ) ;
736+ writeln ! ( f, "{indent}{}" , node. value( ) ) ?;
742737 }
743738 Edge :: Open ( node) => {
744739 indent. indent ( node. next_sibling ( ) . is_some ( ) ) ;
745- write ! ( f, "{}{}\n " , indent . to_string ( ) , node. value( ) ) ?;
740+ writeln ! ( f, "{indent }{}" , node. value( ) ) ?;
746741 indent. deindent ( ) ;
747742 }
748743 Edge :: Close ( node) if node. has_children ( ) => {
You can’t perform that action at this time.
0 commit comments