| Crates.io | merge-whitespace-utils |
| lib.rs | merge-whitespace-utils |
| version | 1.1.0 |
| created_at | 2024-12-02 17:25:21.067832+00 |
| updated_at | 2024-12-02 17:25:21.067832+00 |
| description | Procedural macros for merging whitespace in const contexts |
| homepage | https://github.com/sunsided/merge-whitespace-rs |
| repository | https://github.com/sunsided/merge-whitespace-rs |
| max_upload_size | |
| id | 1468959 |
| size | 10,624 |
This crate contains procedural macros for removing multiple consecutive whitespaces from a given string literal, replacing them with a single space.
The example below uses an optional quotation character to keep quoted text ranges un-merged, as well as an optional escape character to ensure that quotation character literals are kept as-is.
use merge_whitespace::merge_whitespace;
const QUERY: &str = merge_whitespace!(r#"
query {
users (limit: 1, filter: "bought a 12\" vinyl
named \"spaces in space \"") {
id
name
todos(order_by: {created_at: desc}, limit: 5) {
id
title
}
}
}
"#,
quote_char = '"',
escape_char = '\\');
#[test]
fn test() {
assert_eq!(QUERY, r#"query { users (limit: 1, filter: "bought a 12\" vinyl
named \"spaces in space \"") { id name todos(order_by: {created_at: desc}, limit: 5) { id title } } }"#);
}
Alternatively, the merge_whitespace_utils::merge_whitespace function can be used to process variable input.