File tree 2 files changed +15
-17
lines changed
2 files changed +15
-17
lines changed Original file line number Diff line number Diff line change @@ -9,17 +9,20 @@ struct Token {
9
9
children : bool ,
10
10
}
11
11
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 {
14
14
let Token { siblings, children } = self ;
15
15
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
+ )
23
26
}
24
27
}
25
28
@@ -50,7 +53,7 @@ impl Display for Indentation {
50
53
let first: usize = if self . ignore_root { 1 } else { 0 } ;
51
54
52
55
for token in & self . tokens [ first..] {
53
- write ! ( f, "{}" , token . to_string ( ) ) ?;
56
+ write ! ( f, "{token}" ) ?;
54
57
}
55
58
56
59
Ok ( ( ) )
Original file line number Diff line number Diff line change @@ -733,16 +733,11 @@ impl<T: Display> Display for Tree<T> {
733
733
match edge {
734
734
Edge :: Open ( node) if node. has_children ( ) => {
735
735
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( ) ) ?;
742
737
}
743
738
Edge :: Open ( node) => {
744
739
indent. indent ( node. next_sibling ( ) . is_some ( ) ) ;
745
- write ! ( f, "{}{}\n " , indent . to_string ( ) , node. value( ) ) ?;
740
+ writeln ! ( f, "{indent }{}" , node. value( ) ) ?;
746
741
indent. deindent ( ) ;
747
742
}
748
743
Edge :: Close ( node) if node. has_children ( ) => {
You can’t perform that action at this time.
0 commit comments