@@ -113,8 +113,7 @@ pub fn try_read_symbol(input: &[u8]) -> IResult<&[u8],Value> {
113
113
/// Example Successes:
114
114
/// "this is pretty straightforward" => Value::String("this is pretty straightforward")
115
115
pub fn try_read_string ( input : & [ u8 ] ) -> IResult < & [ u8 ] , Value > {
116
- named ! ( quotation,
117
- ws!( tag!( "\" " ) ) ) ;
116
+ named ! ( quotation, preceded!( consume_clojure_whitespaces, tag!( "\" " ) ) ) ;
118
117
let ( rest_input, _) = quotation ( input) ?;
119
118
to_value_parser (
120
119
map_res (
@@ -129,10 +128,8 @@ pub fn try_read_string(input: &[u8]) -> IResult<&[u8],Value> {
129
128
/// Example Successes:
130
129
/// {:a 1} => Value::PersistentListMap {PersistentListMap { MapEntry { :a, 1} .. ]})
131
130
pub fn try_read_map ( input : & [ u8 ] ) -> IResult < & [ u8 ] , Value > {
132
- named ! ( lbracep,
133
- ws!( tag!( "{" ) ) ) ;
134
- named ! ( rbracep,
135
- ws!( tag!( "}" ) ) ) ;
131
+ named ! ( lbracep, preceded!( consume_clojure_whitespaces, tag!( "{" ) ) ) ;
132
+ named ! ( rbracep, preceded!( consume_clojure_whitespaces, tag!( "}" ) ) ) ;
136
133
let ( map_inner_input, _) = lbracep ( input) ?;
137
134
let mut map_as_vec : Vec < MapEntry > = vec ! [ ] ;
138
135
let mut rest_input = map_inner_input;
@@ -152,17 +149,15 @@ pub fn try_read_map(input: &[u8]) -> IResult<&[u8],Value> {
152
149
}
153
150
}
154
151
155
- // @TODO remove ws!, use nom functions in place of macro
152
+ // @TODO use nom functions in place of macro
156
153
/// Tries to parse &[u8] into Value::PersistentVector
157
154
/// Example Successes:
158
155
/// [1 2 3] => Value::PersistentVector(PersistentVector { vals: [Rc(Value::I32(1) ... ]})
159
156
/// [1 2 [5 10 15] 3]
160
157
/// => Value::PersistentVector(PersistentVector { vals: [Rc(Value::I32(1) .. Rc(Value::PersistentVector..)]})
161
158
pub fn try_read_vector ( input : & [ u8 ] ) -> IResult < & [ u8 ] , Value > {
162
- named ! ( lbracketp,
163
- ws!( tag!( "[" ) ) ) ;
164
- named ! ( rbracketp,
165
- ws!( tag!( "]" ) ) ) ;
159
+ named ! ( lbracketp, preceded!( consume_clojure_whitespaces, tag!( "[" ) ) ) ;
160
+ named ! ( rbracketp, preceded!( consume_clojure_whitespaces, tag!( "]" ) ) ) ;
166
161
let ( vector_inner_input, _) = lbracketp ( input) ?;
167
162
let mut vector_as_vec = vec ! [ ] ;
168
163
// What's left of our input as we read more of our PersistentVector
@@ -196,11 +191,9 @@ pub fn try_read_vector(input: &[u8]) -> IResult<&[u8],Value> {
196
191
}
197
192
198
193
pub fn try_read_list ( input : & [ u8 ] ) -> IResult < & [ u8 ] , Value > {
199
- named ! ( lparenp,
200
- ws!( tag!( "(" ) ) ) ;
201
- named ! ( rparenp,
202
- ws!( tag!( ")" ) ) ) ;
203
-
194
+ named ! ( lparenp, preceded!( consume_clojure_whitespaces, tag!( "(" ) ) ) ;
195
+ named ! ( rparenp, preceded!( consume_clojure_whitespaces, tag!( ")" ) ) ) ;
196
+
204
197
let ( list_inner_input, _) = lparenp ( input) ?;
205
198
let mut list_as_vec = vec ! [ ] ;
206
199
let mut rest_input = list_inner_input;
0 commit comments