@@ -395,8 +395,7 @@ impl<'a> Help<'a> {
395
395
// Determine how many newlines we need to insert
396
396
debugln ! ( "Help::write_before_after_help: Usable space: {}" ,
397
397
self . term_w) ;
398
- help = help. replace ( "{n}" , "\n " ) ;
399
- wrap_help ( & mut help, self . term_w ) ;
398
+ help = wrap_help ( & help. replace ( "{n}" , "\n " ) , self . term_w ) ;
400
399
} else {
401
400
sdebugln ! ( "No" ) ;
402
401
}
@@ -437,8 +436,7 @@ impl<'a> Help<'a> {
437
436
// Determine how many newlines we need to insert
438
437
let avail_chars = self . term_w - spcs;
439
438
debugln ! ( "Help::help: Usable space...{}" , avail_chars) ;
440
- help = help. replace ( "{n}" , "\n " ) ;
441
- wrap_help ( & mut help, avail_chars) ;
439
+ help = wrap_help ( & help. replace ( "{n}" , "\n " ) , avail_chars) ;
442
440
} else {
443
441
sdebugln ! ( "No" ) ;
444
442
}
@@ -616,8 +614,7 @@ impl<'a> Help<'a> {
616
614
( ) => { {
617
615
let mut name = parser. meta. name. clone( ) ;
618
616
name = name. replace( "{n}" , "\n " ) ;
619
- wrap_help( & mut name, self . term_w) ;
620
- try!( color!( self , & * name, good) ) ;
617
+ try!( color!( self , wrap_help( & name, self . term_w) , good) ) ;
621
618
} } ;
622
619
}
623
620
if let Some ( bn) = parser. meta . bin_name . as_ref ( ) {
@@ -645,8 +642,8 @@ impl<'a> Help<'a> {
645
642
( $thing: expr) => { {
646
643
let mut owned_thing = $thing. to_owned( ) ;
647
644
owned_thing = owned_thing. replace( "{n}" , "\n " ) ;
648
- wrap_help ( & mut owned_thing , self . term_w ) ;
649
- try! ( write! ( self . writer , "{} \n " , & * owned_thing) )
645
+ try! ( write! ( self . writer , "{} \n " ,
646
+ wrap_help ( & owned_thing, self . term_w ) ) )
650
647
} } ;
651
648
}
652
649
// Print the version
@@ -907,12 +904,12 @@ impl<'a> Help<'a> {
907
904
}
908
905
}
909
906
910
- fn wrap_help ( help : & mut String , avail_chars : usize ) {
907
+ fn wrap_help ( help : & str , avail_chars : usize ) -> String {
911
908
let wrapper = textwrap:: Wrapper :: new ( avail_chars) . break_words ( false ) ;
912
- * help = help. lines ( )
909
+ help. lines ( )
913
910
. map ( |line| wrapper. fill ( line) )
914
911
. collect :: < Vec < String > > ( )
915
- . join ( "\n " ) ;
912
+ . join ( "\n " )
916
913
}
917
914
918
915
#[ cfg( test) ]
@@ -921,8 +918,7 @@ mod test {
921
918
922
919
#[ test]
923
920
fn wrap_help_last_word ( ) {
924
- let mut help = String :: from ( "foo bar baz" ) ;
925
- wrap_help ( & mut help, 5 ) ;
926
- assert_eq ! ( help, "foo\n bar\n baz" ) ;
921
+ let help = String :: from ( "foo bar baz" ) ;
922
+ assert_eq ! ( wrap_help( & help, 5 ) , "foo\n bar\n baz" ) ;
927
923
}
928
924
}
0 commit comments