ligotab 0.2.0

Format delimited data with lightweight markup
Documentation
pub(crate) trait Escape {
    fn escape_brackets(&self) -> String;
    fn escape_pipe(&self) -> String;
}

impl Escape for String {
    fn escape_pipe(&self) -> Self {
        self.replace("|", "\\|")
    }

    fn escape_brackets(&self) -> Self {
        self.replace("{", "\\{").replace("}", "\\}")
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_escape_pipe() {
        let original = "There | are | pipes | here";
        let got = original.to_string().escape_pipe();
        let want = "There \\| are \\| pipes \\| here";

        assert_eq!(got.as_str(), want);
    }

    #[test]
    fn test_escape_brackets() {
        let original = "There { are } brackets here";
        let got = original.to_string().escape_brackets();
        let want = "There \\{ are \\} brackets here";

        assert_eq!(got.as_str(), want);
    }
}