@@ -72,8 +72,6 @@ fn open_loop(interval: time::Duration,
72
72
loop {
73
73
match input ( ) {
74
74
Ok ( val) => {
75
- let mut val = val. clone ( ) ;
76
- val. push_str ( & separator) ;
77
75
tx. send ( val) . unwrap ( ) ;
78
76
} ,
79
77
Err ( _) => break
@@ -84,13 +82,20 @@ fn open_loop(interval: time::Duration,
84
82
let mut string = String :: new ( ) ;
85
83
let mut i: f64 = 0f64 ;
86
84
while i < count {
87
- thread:: sleep ( interval) ;
88
-
89
- if truncate && truncate_len >= string. len ( ) {
90
- string = rx. try_recv ( ) . unwrap_or ( string) ;
91
- } else {
92
- string = rx. try_recv ( ) . unwrap_or ( roll1 ( string, reverse) ) ;
85
+ match rx. try_recv ( ) {
86
+ Ok ( val) => {
87
+ string = val;
88
+ if ( truncate && truncate_len < string. len ( ) ) || !truncate {
89
+ string. push_str ( & separator) ;
90
+ }
91
+ } ,
92
+ Err ( _) => {
93
+ if ( truncate && truncate_len < string. len ( ) ) || !truncate {
94
+ string = roll1 ( string, reverse) ;
95
+ }
96
+ } ,
93
97
}
98
+
94
99
let mut modified_string = string. clone ( ) ;
95
100
96
101
if truncate {
@@ -105,14 +110,15 @@ fn open_loop(interval: time::Duration,
105
110
}
106
111
107
112
i += 1f64 ;
113
+ thread:: sleep ( interval) ;
108
114
}
109
115
110
116
inp_thread. join ( ) . unwrap ( ) ;
111
117
}
112
118
113
119
fn main ( ) {
114
120
let args = App :: new ( "Roller" )
115
- . version ( "1.0.0" )
121
+ . version ( env ! ( "CARGO_PKG_VERSION" ) )
116
122
. author ( "Kabir Goel <[email protected] >" )
117
123
. about ( "Truncate text by rolling it like a news ticker." )
118
124
. arg ( Arg :: with_name ( "interval" )
0 commit comments