Parse a double quoted string.
(input: &str)
| 38 | |
| 39 | /// Parse a double quoted string. |
| 40 | pub fn double_string(input: &str) -> IResult<&str, String, StofParseError> { |
| 41 | let normal = none_of("\"\\"); // everything but backslash or double quote |
| 42 | let inner = escaped_transform(normal, '\\', alt(( |
| 43 | value("\\", tag("\\")), |
| 44 | value("\"", tag("\"")), |
| 45 | value("\n", tag("n")), |
| 46 | value("\r", tag("r")), |
| 47 | value("\t", tag("t")), |
| 48 | ))); |
| 49 | delimited(char('"'), map(opt(inner), |opt| opt.unwrap_or_default()), char('"')).parse(input) |
| 50 | } |
| 51 | |
| 52 | /// Parse a single quoted string. |
| 53 | pub fn single_string(input: &str) -> IResult<&str, String, StofParseError> { |