fn interpolation(i: &str) -> IResult<&str, &str, VerboseError<&str>> {
        #[cfg(test)]
        trace!("Interpolation: {}", i);

        Self::expect_non_empty(i)?;

        let result = context(
            "Interpolation",
            Self::trimmed(delimited(
                tag("${"),
                Self::trimmed(recognize(preceded(
                    alpha1,
                    many0(alt((alphanumeric1, tag("_")))),
                ))),
                tag("}"),
            )),
        )(i);

        #[cfg(test)]
        trace!("Interpolation: {:#?}", result);

        result
    }
/// Parse a string interpolation.
///
// TODO: Handle escaping.
Parse a string interpolation.
TODO: Handle escaping.
Parse a string interpolation . TODO : Handle escaping .
fn interpolation(i: &str) -> IResult<&str, &str, VerboseError<&str>> {
        #[cfg(test)]
        trace!("Interpolation: {}", i);
        Self::expect_non_empty(i)?;
        let result = context(
            "Interpolation",
            Self::trimmed(delimited(
                tag("${"),
                Self::trimmed(recognize(preceded(
                    alpha1,
                    many0(alt((alphanumeric1, tag("_")))),
                ))),
                tag("}"),
            )),
        )(i);
        #[cfg(test)]
        trace!("Interpolation: {:#?}", result);
        result
    }
fn interpolation ( i : & str ) -> IResult < & str , & str , VerboseError < & str > > { # [ cfg ( test ) ] trace ! ( " " i ) ; Self :: expect_non_empty ( i ) ? ; let result = context ( " " , Self :: trimmed ( delimited ( tag ( " " ) , Self :: trimmed ( recognize ( preceded ( alpha1 , many0 ( alt ( ( alphanumeric1 , tag ( " " ) ) ) ) , ) ) ) , tag ( " " ) , ) ) , ) ( i ) ; # [ cfg ( test ) ] trace ! ( " " result ) ; result }
Parse a string interpolation.
Parse a string interpolation .
i
&str
i
&str