@@ -2,8 +2,9 @@ use std::convert::TryFrom;
2
2
3
3
use bstr:: ByteSlice ;
4
4
use winnow:: {
5
- bytes:: complete:: { tag, take_till, take_till1} ,
6
- combinator:: { map_res, opt} ,
5
+ bytes:: { tag, take_till0, take_till1} ,
6
+ combinator:: opt,
7
+ prelude:: * ,
7
8
sequence:: { preceded, terminated} ,
8
9
} ;
9
10
@@ -74,21 +75,23 @@ impl<'a> RemoteProgress<'a> {
74
75
}
75
76
76
77
fn parse_number ( i : & [ u8 ] ) -> winnow:: IResult < & [ u8 ] , usize > {
77
- map_res ( take_till ( |c : u8 | !c. is_ascii_digit ( ) ) , btoi:: btoi) ( i)
78
+ take_till0 ( |c : u8 | !c. is_ascii_digit ( ) )
79
+ . map_res ( btoi:: btoi)
80
+ . parse_next ( i)
78
81
}
79
82
80
83
fn next_optional_percentage ( i : & [ u8 ] ) -> winnow:: IResult < & [ u8 ] , Option < u32 > > {
81
84
opt ( terminated (
82
85
preceded (
83
- take_till ( |c : u8 | c. is_ascii_digit ( ) ) ,
84
- map_res ( parse_number , u32:: try_from) ,
86
+ take_till0 ( |c : u8 | c. is_ascii_digit ( ) ) ,
87
+ parse_number . map_res ( u32:: try_from) ,
85
88
) ,
86
89
tag ( b"%" ) ,
87
90
) ) ( i)
88
91
}
89
92
90
93
fn next_optional_number ( i : & [ u8 ] ) -> winnow:: IResult < & [ u8 ] , Option < usize > > {
91
- opt ( preceded ( take_till ( |c : u8 | c. is_ascii_digit ( ) ) , parse_number) ) ( i)
94
+ opt ( preceded ( take_till0 ( |c : u8 | c. is_ascii_digit ( ) ) , parse_number) ) ( i)
92
95
}
93
96
94
97
fn parse_progress ( line : & [ u8 ] ) -> winnow:: IResult < & [ u8 ] , RemoteProgress < ' _ > > {
0 commit comments