use nom::{
IResult,
character::streaming::*,
bytes::streaming::*,
};
use nom::combinator::*;
use nom::sequence::*;
use super::{
Response,
Feedback
};
pub fn done_print_resp<'r>(input: &'r str) -> IResult<&'r str, Response> {
value(
Response::Ok(Some(Feedback::SDPrintComplete)),
tuple((
tag("Done printing file"),
space0,
line_ending,
take_until("\nok"),
tag("\nok"),
)),
)(input)
}
pub fn done_sd_write_resp<'r>(input: &'r str) -> IResult<&'r str, Response> {
value(
Response::Ok(Some(Feedback::SDWriteComplete)),
tag_no_case("Done saving file."),
)(input)
}
pub fn file_deleted_resp<'r>(input: &'r str) -> IResult<&'r str, Response> {
map(
recognize(pair(
tag_no_case("File deleted:"),
not_line_ending,
)),
|s: &str| Response::Debug(s.to_string())
)(input)
}