File tree 1 file changed +13
-1
lines changed
1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -75,7 +75,19 @@ impl std::fmt::Display for Info {
75
75
let title = "Languages: " ;
76
76
let pad = " " . repeat ( title. len ( ) ) ;
77
77
let mut s = String :: from ( "" ) ;
78
- for ( cnt, language) in self . languages . iter ( ) . enumerate ( ) {
78
+ let languages: Vec < ( String , f64 ) > = {
79
+ let mut iter = self . languages . iter ( ) . map ( |x| ( format ! ( "{}" , x. 0 ) , x. 1 ) ) ;
80
+ if self . languages . len ( ) > 6 {
81
+ let mut languages = iter. by_ref ( ) . take ( 6 ) . collect :: < Vec < _ > > ( ) ;
82
+ let other_sum = iter. fold ( 0.0 , |acc, x| acc + x. 1 ) ;
83
+ languages. push ( ( "Other" . to_owned ( ) , other_sum) ) ;
84
+ languages
85
+ } else {
86
+ iter. collect ( )
87
+ }
88
+ } ;
89
+
90
+ for ( cnt, language) in languages. iter ( ) . enumerate ( ) {
79
91
let formatted_number = format ! ( "{:.*}" , 2 , language. 1 ) ;
80
92
if cnt != 0 && cnt % 3 == 0 {
81
93
s = s + & format ! ( "\n {}{} ({} %) " , pad, language. 0 , formatted_number) ;
You can’t perform that action at this time.
0 commit comments