1 2 3 4 5 6 7 8 9 10 11 12 13
//! Case conversion functions.
/// Converts a name from `PascalCase` to `snake_case`.
pub fn pascal_to_snake(s: &str) -> String {
let mut result = String::new();
for c in s.chars() {
if c.is_ascii_uppercase() && !result.is_empty() {
result.push('_');
}
result.push(c.to_ascii_lowercase());
}
result
}