fn parse_field<'a>(i : &'a str, field : &'a str, escape_str : &'a str) -> IResult<&'a str, &'a str> {
    let mut out : &'a str = i;
    // Removes the "##"
    out = tag_x(out, escape_str)?.0;
    // Parses the field, returns an error otherwise
    out = tag_x(out, field)?.0;
    // Parses the equals sign after the field
    out = char_x(out, '=')?.0; 
    let value = not_newline(out)?;
    Ok(value)
}
// Parses until reaching a line which does not start with ##, or reaching the line that starts with
// ##header
// Assumes that the ## has not been parsed yet from i
Parses until reaching a line which does not start with ##, or reaching the line that starts with
Parses until reaching a line which does not start with ## or reaching the line that starts with
fn parse_field<'a>(i : &'a str, field : &'a str, escape_str : &'a str) -> IResult<&'a str, &'a str> {
    let mut out : &'a str = i;
    // Removes the "##"
    out = tag_x(out, escape_str)?.0;
    // Parses the field, returns an error otherwise
    out = tag_x(out, field)?.0;
    // Parses the equals sign after the field
    out = char_x(out, '=')?.0; 
    let value = not_newline(out)?;
    Ok(value)
}
fn parse_field < ' a > ( i : & ' a str , field : & ' a str , escape_str : & ' a str ) -> IResult < & ' a str , & ' a str > { let mut out : & ' a str = i ; // Removes the "##" out = tag_x ( out , escape_str ) ? . 0 ; // Parses the field, returns an error otherwise out = tag_x ( out , field ) ? . 0 ; // Parses the equals sign after the field out = char_x ( out , '=' ) ? . 0 ; let value = not_newline ( out ) ? ; Ok ( value ) }
Parses until reaching a line which does not start with ##, or reaching the line that starts with
Parses until reaching a line which does not start with ## or reaching the line that starts with
i
&'a str
field
&'a str
escape_str
&'a str
i
&'a str
field
&'a str
escape_str
&'a str
header
Assumes that the ## has not been parsed yet from i
Assumes that the ## has not been parsed yet from i