docs.rs failed to build descape-2.0.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
descape-3.0.0
descape
Provides utilities for easily parsing escape sequences in a string, using alloc::borrow::Cow to only borrow when needed.
This library supports many escape sequences:
\\a->\x07\\b->\x08\\t->\x09\\n->\x0A\\v->\x0B\\f->\x0C\\r->\x0D\\e->\x1B\\'->'\\"->"- \\` -> `
\\\\->\\\\xNN->\xNN\\o->\o, for all octal digitso\\oo->\oo, for all octal digitso\\ooo->\ooo, for all octal digitso\\uXXXX->\u{XXXX}\\u{HEX}->\u{HEX}
Along with this, you can define your own custom escape handlers! See UnescapeExt::to_unescaped_with for more information on that.
This crate supports no-std.
Optionally, this crate has the std and core_error features,
to allow the error type of an invalid escape to implement the Error trait.
std uses std::error::Error, and core_error depends on core::error::Error, which is stable on Rust 1.82.0 or greater.
Examples
Parsing an escaped string
let escaped = "Hello,\\nworld!".to_unescaped;
assert_eq!;
Not allocating for a string without escapes
let no_escapes = "No escapes here!".to_unescaped;
assert_eq!;
Erroring for invalid escapes
// v invalid at index 7
let invalid_escape = r"Uh oh! \xJJ".to_unescaped;
assert_eq!;
Permitting any escape, handing it back raw
let escaped = r"\H\e\l\l\o \n \W\o\r\l\d";
let unescaped = escaped.to_unescaped_with.expect;
assert_eq!;
Removing escape sequences entirely
let escaped = r"What if I want a \nnewline?";
let unescaped = escaped.to_unescaped_with.expect;
assert_eq!;
Not allowing escape sequences unsupported by Rust
r"This is \nfine".to_unescaped_with.expect;
r"This is not \fine".to_unescaped_with.expect_err;