Crate fast_escape [−] [src]
This crate provides generic escaping of characters without requiring allocations. It leverages
fast_fmt
crate to do this.
Examples
Escaping whole writer
#[macro_use] extern crate fast_fmt; extern crate fast_escape; extern crate void; use fast_escape::Escaper; use fast_fmt::Write; use void::ResultVoidExt; fn main() { let mut s = String::new(); { let s = &mut s; let mut tr = s.transform(Escaper::new('\\', '$')); fwrite!(&mut tr, "abcd$efgh").void_unwrap(); } assert_eq!(s, "abcd\\$efgh"); }
Escaping part of formatted text
#[macro_use] extern crate fast_fmt; extern crate fast_escape; extern crate void; use fast_escape::Escaper; use void::ResultVoidExt; fn main() { let mut s = String::new(); let special_chars = ['$', '"']; let escaper: Escaper<&[char]> = Escaper::new('\\', &special_chars); let value = "$Hello \"world\"!"; fwrite!(&mut s, "$foo=\"", value.transformed(escaper), "\"").void_unwrap(); assert_eq!(s, "$foo=\"\\$Hello \\\"world\\\"!\""); }
Structs
Escaper |
This struct provides escaping of characters. |
Predicate |
Set defined by given predicate (function). |
Union |
Union of two sets of chars. |
Traits
ContainsChar |
Represents set of chars used for configuring |